Browse Source

Images in WpfPreview and pdf

pull/637/merge
Peter Forstmeier 11 years ago
parent
commit
c9162e1609
  1. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs
  2. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs
  3. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

5
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs

@ -31,6 +31,7 @@ namespace ICSharpCode.Reporting.Items @@ -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 @@ -58,8 +59,12 @@ namespace ICSharpCode.Reporting.Items
public Image Image {
get {
if (image == null) {
string text = "<Dummy Design Image>";
this.image = FakeImage(Size, text);
}
return this.image;
}

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs

@ -114,6 +114,20 @@ namespace ICSharpCode.Reporting.Pdf @@ -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);

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -152,7 +152,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -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;

Loading…
Cancel
Save