首页 >后端开发 >C++ >如何在 C#/.NET 中合并两个图像?

如何在 C#/.NET 中合并两个图像?

DDD
DDD原创
2025-01-04 12:50:44404浏览

How Can I Merge Two Images in C#/.NET?

在 C#/.NET 中合并图像:一个实际示例

您有两个图像,一个 500x500 透明图像和一个 150x150 图像,其中您想要合并到单个 500x500 画布中。以下是使用 System.Drawing 库的 C# 分步解决方案:

第 1 步:加载图像

using System.Drawing;

Image background = Image.FromFile("background.png");
Image overlay = Image.FromFile("overlay.png");

第 2 步:创建新位图(画布)

int width = 500;
int height = 500;

using var bitmap = new Bitmap(width, height);

第 3 步:绘制背景图像

using var canvas = Graphics.FromImage(bitmap);

canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
canvas.DrawImage(background,
                 new Rectangle(0,
                               0,
                               width,
                               height),
                 new Rectangle(0,
                               0,
                               background.Width,
                               background.Height),
                 GraphicsUnit.Pixel);

第 4 步:计算叠加位置

int x = (bitmap.Width / 2) - (overlay.Width / 2);
int y = (bitmap.Height / 2) - (overlay.Height / 2);

第 5 步:绘制叠加层图片

canvas.DrawImage(overlay,
                 new Rectangle(x,
                               y,
                               overlay.Width,
                               overlay.Height));

第 6 步:保存合并的图片

bitmap.Save("merged.png");

其他提示:

  • 您可以使用 Color.FromArgb() 调整叠加图像的透明度方法。
  • 如果要在合并之前调整叠加图像的大小,请使用 Image.Scale() 方法。
  • 通过操作 x 和 y 变量,可以控制叠加的位置画布上的图像。

以上是如何在 C#/.NET 中合并两个图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn