public override void DrawImage(MemoryImage image, RectangleF destination, RectangleF sourceRect, System.Drawing.Imaging.ImageAttributes attributes = null) { if (image.IsSVG && sourceRect.Location.IsEmpty && sourceRect.Size.Equals(image.Size.ToSizeF())) { // sourceRect param was actually redundant as it specifies the entire thing // this check done for efficiency, since if rendering the entire thing we can use SVG, whereas code below generates an entire new image each time DrawImage(image, destination, attributes); return; } string ID = PrepareMemoryImage(image, image.GetHashCode(), sourceRect); SimpleImage(ID, sourceRect.Size, destination); }
public override void DrawImage(MemoryImage image, RectangleF destination, System.Drawing.Imaging.ImageAttributes attributes = null) { string ID = PrepareMemoryImage(image, image.GetHashCode(), RectangleF.Empty); SimpleImage(ID, image.Size, destination); }
public override void DrawImage(MemoryImage image, PointF[] destinationPoints, RectangleF sourceRect, System.Drawing.Imaging.ImageAttributes attributes = null) { var ID = PrepareMemoryImage(image, image.GetHashCode(), sourceRect); ComplexImage(ID, sourceRect, destinationPoints); }