我正在使用StretchImage,因为该框可以使用分割器调整大小.看起来默认是某种平滑的双线性滤波,导致我的图像模糊并具有莫尔条纹.
我也需要这个功能.我创建了一个继承PictureBox的类,覆盖OnPaint
并添加一个属性以允许设置插值模式:
using System.Drawing.Drawing2D; using System.Windows.Forms; ////// Inherits from PictureBox; adds Interpolation Mode Setting /// public class PictureBoxWithInterpolationMode : PictureBox { public InterpolationMode InterpolationMode { get; set; } protected override void OnPaint(PaintEventArgs paintEventArgs) { paintEventArgs.Graphics.InterpolationMode = InterpolationMode; base.OnPaint(paintEventArgs); } }
我怀疑你将不得不通过Image类和DrawImage函数手动调整大小并响应PictureBox上的resize事件.