当从现有图像创建新的位图时,不要缩放图像

本文关键字:图像 缩放 位图 创建 | 更新日期: 2023-09-27 18:01:42

有没有人知道如何从现有的图像创建一个新的位图与较高的高度,但不缩放图像,只是有透明,黑色或白色在新的位图的原始图像下面?

我基本上有一张图片比第二张高,我需要第二张图片和第一张一样高,而不拉伸它。

            img2 = new Bitmap(lImages[2],new Size(pictureBox.Image.Width,pictureBox.Image.Height));
            img2 = ((Bitmap)img2).Clone(new Rectangle(0, 0, pictureBox.Image.Width, pictureBox.Image.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb);

c# . net 4.0

当从现有图像创建新的位图时,不要缩放图像

通过使用Graphics对象,您可以轻松地实现这一点:

Bitmap temp = new Bitmap(new Size(pictureBox.Image.Width,pictureBox.Image.Height));
using(Graphics g = Graphics.FromImage(temp))
{
    g.DrawImage(img2, 0, 0);
}
img2 = temp;

现在img2引用了一个新的Bitmap对象,该对象具有所需的大小,并在其上绘制了原始(未拉伸)图像。

注意:要控制额外空间的颜色,请在绘制图像之前添加对g.FillRect的调用

创建"标准"大小的位图,用白色填充,调用bitmap . maketransparent (color . white),并在其上绘制最终图像