<分区>
基本上我想拉伸(stretch)较小的图像(即 300x300 到更大的图像,即 500x500),没有空格或黑色背景。
我有一个位图(假设宽度为 500 像素,高度为 500 像素)。如何在该位图上绘制另一个(较小的)图像以便它占用整个位图?
我已经知道如何创建位图(即 var bitmap = new Bitmap(500, 500);
)并获取图像 - 它可以从文件中加载(即 var image = Image.FromFile(...);
) 或从其他来源获得。
<分区>
基本上我想拉伸(stretch)较小的图像(即 300x300 到更大的图像,即 500x500),没有空格或黑色背景。
我有一个位图(假设宽度为 500 像素,高度为 500 像素)。如何在该位图上绘制另一个(较小的)图像以便它占用整个位图?
我已经知道如何创建位图(即 var bitmap = new Bitmap(500, 500);
)并获取图像 - 它可以从文件中加载(即 var image = Image.FromFile(...);
) 或从其他来源获得。
最佳答案
请参阅 Graphics.DrawImage 的文档.您可以指定源矩形和目标矩形。
示例代码:
Image i = Image.FromFile(fileName); // This is 300x300
Bitmap b = new Bitmap(500, 500);
using(Graphics g = Graphics.FromImage(b))
{
g.DrawImage(i, 0, 0, 500, 500);
}
要使用代码,请确保添加对 System.Drawing 程序集的引用并将 using System.Drawing
添加到文件中。
关于c# - 将图像绘制到更大的位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884860/