How do I make a PictureBox use Nearest Neighbor resampling?

后端 未结 4 1258
你的背包
你的背包 2020-12-10 00:58

I am using StretchImage because the box is resizable with splitters. It looks like the default is some kind of smooth bilinear filtering, causing my image to be blurry and h

4条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-10 01:32

    I needed this functionality also. I made a class that inherits PictureBox, overrides OnPaint and adds a property to allow the interpolation mode to be set:

    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);
        }
    }
    

提交回复
热议问题