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

本文关键字:保留 缩放 | 更新日期: 2023-09-27 18:07:55

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

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

您正在使用的确切组件是哪个?这通常是通过切换imagestrestretch或ImageFit到NearestNeighbour来解决的。

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

您必须使用尽可能低的质量自定义绘制它以调整大小。要自定义绘制控件,您将以某种方式处理其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()