C#图片框缩放(保留硬边)

时间:2011-09-08 17:04:54

标签: c# picturebox

我想弄清楚如何使用图片框缩放,但我希望能够保持硬边缘,当我缩放时,图片模糊而不像素化。有谁知道怎么做?

3 个答案:

答案 0 :(得分:1)

您使用的确切组件是什么?这通常通过将ImageStretch或ImageFit切换到NearestNeighbour来解决。这是您正在寻找的过滤/插值设置。

答案 1 :(得分:1)

PictireBox仅支持基本的缩放算法。只要将图像存储在内存中,就可以实现自己的缩放算法,并将缩放后的图像提供给PictireBox,并禁用后者的任何缩放功能。 您可以使用this library来实现高级缩放算法。

答案 2 :(得分:0)

您必须使用尽可能低的质量来自定义绘制它。要自定义绘制一个控件,你会以某种方式处理它的Paint事件(理想情况下,你会子类化,但我会使它变得更简单)所以在PictureBox的Paint处理程序中,放置它代码:

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

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