diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs index 3742296506..5f94b886c2 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs @@ -31,6 +31,7 @@ namespace ICSharpCode.Reporting.Items export.ToExportItem(this); export.Image = Image; + export.ScaleImageToSize = ScaleImageToSize; return export; } @@ -58,8 +59,12 @@ namespace ICSharpCode.Reporting.Items public Image Image { get { - string text = ""; - this.image = FakeImage(Size, text); + + if (image == null) { + string text = ""; + this.image = FakeImage(Size, text); + } + return this.image; } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs index 57d5423115..2d947281d6 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs @@ -114,6 +114,20 @@ namespace ICSharpCode.Reporting.Pdf } + public override void Visit(ExportImage exportImage) + { + XImage image = XImage.FromGdiPlusImage(exportImage.Image); + var location = PdfHelper.LocationRelToParent(exportImage); + if (exportImage.ScaleImageToSize) { + xGraphics.DrawImage(image, location.X.ToPoint(), location.Y.ToPoint(), + exportImage.Size.Width.ToPoint(),exportImage.Size.Height.ToPoint()); + } else { + xGraphics.DrawImage(image, location.X.ToPoint(), location.Y.ToPoint(), + exportImage.Image.Size.Width.ToPoint(),exportImage.Image.Size.Height.ToPoint()); + } + } + + public override void Visit(ExportLine element){ var pen = PdfHelper.CreatePen(element); var fromPoint = PdfHelper.LocationRelToParent(element); diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs index 6a444012be..ab430c112f 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs @@ -152,7 +152,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor using (var dc = visual.RenderOpen()){ var iss = ToBitmapSource(exportImage.Image); dc.DrawImage(iss,new Rect(exportImage.Location.ToWpf(), - new Size(exportImage.DesiredSize.Width,exportImage.DesiredSize.Height))); + new Size(exportImage.Size.Width,exportImage.Size.Height))); } var drawingElement = new DrawingElement(visual); UIElement = drawingElement;