-1

我正在尝试在 C# 中调整图像(位图)的大小而不拉伸图像。

说图像是100x100像素。

在此处输入图像描述

我希望使它成为100x110像素,并在图像底部留下一个白色间隙,它添加了额外的像素。

在此处输入图像描述

我已经这样做了,但找不到指定像素格式的方法。我需要它8bppindexed。我附上了一个例子来显示之前和之后的图像。

这是我到目前为止的代码。

string visit2 = "C:\\users\\moorez\\desktop\\visit2.bmp";

Bitmap orig = new Bitmap(visit2);
int width = orig.Width;
int height = orig.Height;
int newHeight = height + 2;
Bitmap newImage = orig.Clone(new Rectangle(0, 0, width, height), System.Drawing.Imaging.PixelFormat.Format8bppIndexed);
newImage.Save("C:\\users\\moorez\\desktop\\visit3.bmp");

Bitmap test = new Bitmap(width, newHeight);
Graphics g = Graphics.FromImage(test);
g.DrawImage(newImage, new Point(0, 0));
test.Save("C:\\users\\moorez\\desktop\\visit4.bmp");
4

1 回答 1

0

你可以试试这个

Bitmap bmp = new Bitmap(newImage.Width, newHeight);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
g.DrawImageUnscaled(newImage, 0, 0, newImage.Width, newHeight);
bmp.Save(@"C:\\users\\moorez\\desktop\\visit3.bmp", ImageFormat.Jpeg);
于 2013-06-18T19:18:17.063 回答