c# - 将图像绘制到更大的位图

标签 c# image drawing bitmap

<分区>

基本上我想拉伸(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/

相关文章:

c# - 带有布局引擎的自定义面板

c# - 安装程序不删除以前的版本

CSS 在头像图像上以相反方向旋转 2 个图像

python - 如何将圆形图像裁剪为内切正方形,然后裁剪为内切圆,最后裁剪为内切正方形?

c# - 使用 Windows 窗体图形绘制描边 - 需要改进性能

c# - iTextSharp:横向表格

http - 优化与替代文本——我可以同时拥有两者吗?

C++ 真正基础的绘图/GUI

iOS 在 UIView 中绘制像素

c# - c# 中最少代码的无限循环示例