Peggy Yang的學習筆記
因為工作上的需要,要把使用者手繪的圖先處理為縮圖,再印至出來。
不過就在印出來的時後出現讓我很confuse的事情。
*_Image 是原圖檔
Image printImage = _Image.GetThumbnailImage(
Width,
Height,
null,
IntPtr.Zero
);
pGraphics.DrawImage(printImage, new Point(pLocation.X, pLocation.Y - 8));
這樣的結果在我 win xp 32bit的環境下,列印得情況有誤,如下圖(上方手繪的軌跡圖):
一模一樣的程式在我 win 7 64bit的環境下,列印得情況正確,如下圖(上方手繪的軌跡圖):
這樣我非常的不開心,怎麼會發生這種[掉漆]的情況,明明一樣的code竟然有不同的反應。
本來想要放棄的,但是這是要安裝在客戶端的應用程式,誰知道使用者的環境是什麼情境,讓我心裡擔憂的很,後來左查右查,上試下試,一度懷疑是GetThumbnailImage的問題,也懷疑是解析度的問題,try到最後就從DrawImage下手,終於找到一勞永逸的方法。
只要DrawImage在的方法裡,指定畫圖的寬及高即可。
Image printImage = _Image.GetThumbnailImage(
Width,
Height,
null,
IntPtr.Zero
);
pGraphics.DrawImage(printImage, pLocation.X, pLocation.Y - 8, printImage.Width, printImage.Height);
感謝主!阿門!
回覆刪除感謝主!阿門!
回覆刪除