我试图从Silverlight应用程序打印图像。我有很好的品质扫描(TIFF)具有1696x2200从Silverlight打印位图 - 图像模糊
分辨率当我打印 - 我得到PrintDocument
PrintableArea
,它是816x1056
我做什么 - 我调整位图打印区域(以适应文档页面)和我得到的结果是模糊的图像。我知道这是缩放问题(很可能),但我如何正确缩放以使它看起来很好?当我在Image中显示文档并设置图像大小时 - 看起来不错。
对于调整我使用WriteableBitmapEx扩展和尝试这两种类型的大小调整(近邻和双线性)的
代码:
var printDocument = new PrintDocument();
printDocument.PrintPage += (s, ea) =>
{
var printableArea = ea.PrintableArea;
var bitmap = this.currentPreviewPage.FullBitmap.Resize((int)printableArea.Width, (int)printableArea.Height, WriteableBitmapExtensions.Interpolation.Bilinear);
var image = new Image { Source = bitmap };
var canvas = new Canvas { Width = bitmap.PixelWidth, Height = bitmap.PixelHeight };
canvas.Children.Add(image);
ea.PageVisual = canvas;
ea.HasMorePages = false;
};
printDocument.PrintBitmap("Silverlight Bitmap Print");
文档如何在屏幕上看起来(内图片)
这是印:
差不多!这不起作用,但指向正确的方向。即使我在画布上设置尺寸 - 图像不会伸展。但它很容易解决:'新的图像{宽度= ...,高度= ....},我得到了很好的图片 – katit