当从现有图像创建新的位图时,不要缩放图像
本文关键字:图像 缩放 位图 创建 | 更新日期: 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),并在其上绘制最终图像