2009-10-28 63 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