2009-10-28 104 views
0

我在面板控件上繪製圖像。更改縮放係數會改變面板控制的大小(相應地應該拉伸圖像)。在縮放因子大於1(即2,4,8)的情況下,面板的一小部分開始顯示(測試顯示它是面板的背景顏色)並隨縮放因子一起增長。在面板上繪製的圖像不覆蓋整個面板(c# - winforms)

  • 面板控制邊框設置爲無。
  • 面板尺寸始終是2的冪(即64,256 ...)。
  • 原始圖像大小始終是2的冪(即64,256 ...)。
  • 繪製方法的目標矩形設置爲面板寬度和高度。

有什麼想法?

+0

......,問題是......? – 2009-10-28 11:27:58

+0

...開始顯示的小部分面板不應該顯示。我在512x512面板上繪製512x512圖像,並排列在網格中。當面板調整到1024x1024的邊界時,面板背景顏色的顏色開始顯示。只是要清楚 - 我如何確保面板始終完全被繪製的圖像覆蓋? – Goran 2009-10-28 15:19:31

+0

更新:繪圖時使用更高質量的模式(即System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic)可使網格線以除1:1之外的任何縮放比例顯示。 – Goran 2009-10-28 17:12:10

回答

1

不知道更多關於您的實現,很難解釋爲什麼你看到你所看到的。

也許這篇文章將幫助:

http://www.bobpowell.net/zoompicbox.htm

+0

我正在將面板列表放置在網格中(使用tableLayout控件)。創建面板後,圖像被分配給它並在其上繪製(使用面板大小)。每當變焦發生變化時,我都會更改每個面板的尺寸。這在理論上應該相應地拉伸覆蓋圖像。然而,在實踐中,每當面板縮放超過1比1時,面板的小部分(邊緣)就可見。 – Goran 2009-10-28 15:24:17