2011-09-08 119 views

回答

0

您必須使用可能的最低質量進行自定義繪製以調整大小。要自定義繪製控件,你會處理其Paint事件一些這樣或那樣的(理想情況下,你會繼承,但我會讓它更簡單),所以在Paint處理您的圖片框,把這個代碼:

Graphics g = e.Graphics; 
PictureBox picbox = (PictureBox)sender; 
g.Clear(picbox.BackColor); 

g.InterpolationMode = InterpolationMode.Low; 
// Draw the image using g.DrawImage() 
+2

感謝您的幫助,我發現這個http://www.xtremedotnettalk.com/showthread.php?t=97904,它的作品令人驚訝:) – craigbett

1

這是您使用的確切組件?這通常通過將ImageStretch或ImageFit切換到NearestNeighbour來解決。這是您正在查找的過濾/插值設置。

1

PictireBox僅支持基本的縮放算法。只要將圖像存儲在內存中,您就可以實現自己的縮放算法,並將縮放後的圖像提供給PictireBox並禁用後者的任何縮放功能。 您可以使用實現高級縮放算法的this library