c#width增加位图变为透明

时间:2012-06-17 15:41:17

标签: c# visual-studio-2010 bitmap

我试图画一个headerCell。

原始图片看起来像这样(增加):

increased

我试图拉伸图像宽度:

 Bitmap bmp = new Bitmap(3000, 1000);
 Graphics graph = Graphics.FromImage(bmp);
 Image headerMain = Image.FromFile(imagePfad + "header_main.jpg");
 graph.DrawImage(headerMain, X, Y, 300, headerMain.Height);

 Graphics g = CreateGraphics();
 g.DrawImage(bmp, 0, 0);

然后它变成透明的:

headerPic

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在如此极端的放大率下,插值滤波器完成的工作变得非常明显。你想要将它去调整到最近邻居,像素偏移模式也很重要:

graph.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graph.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;