我試圖從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