调整,如MS画图位图 - 无抗锯齿

问题描述:

当我用这个方法来调整位图:调整,如MS画图位图 - 无抗锯齿

private Bitmap ResizeBitmap(Bitmap b, int nWidth, int nHeight) 
    { 
     Bitmap result = new Bitmap(nWidth, nHeight); 
     using (Graphics g = Graphics.FromImage((Image)result)) 
     { 
      g.SmoothingMode = SmoothingMode.None; 
      g.DrawImage(b, 0, 0, nWidth, nHeight); 
     } 
     return result; 
    } 

它仍然使用,即使我指定的抗锯齿:

g.SmoothingMode = SmoothingMode.None; 

我想只是一个基本的调整大小没有任何平滑。

而不是做

g.SmoothingMode = SmoothingMode.None; 

你应该做

g.InterpolationMode = InterpolationMode.NearestNeighbor; 
+0

不足以让,改变PixelOffsetMode以及使用一半。 – 2015-08-09 09:00:07

看看InterpolationMode属性。

我认为这就是你想要的。 Hanselman有一篇很好的博客文章。

抗锯齿是一个子像素的事情,你实际上在调整大小操作期间寻找Nearest Neighbourinterpolation