c# - 在 C#/.NET 中合并两个图像

标签 c# .net image

简单的想法:我有两张图片要合并,一张是 500x500,中间是透明的,另一张是 150x150。

基本思路是这样的:创建一个 500x500 的空白 Canvas ,将 150x150 的图像放在空白 Canvas 的中间,然后复制 500x500 的图像,使其透明的中间让 150x150 的图像透过。

我知道如何用 Java、PHP 和 Python 来实现...我只是不知道在 C# 中使用什么对象/类,一个将图像复制到另一个图像的简单示例就足够了。

最佳答案

基本上我在我们的一个应用程序中使用它: 我们想在视频帧上叠加一个播放图标:

Image playbutton;
try
{
    playbutton = Image.FromFile(/*somekindofpath*/);
}
catch (Exception ex)
{
    return;
}

Image frame;
try
{
    frame = Image.FromFile(/*somekindofpath*/);
}
catch (Exception ex)
{
    return;
}

using (frame)
{
    using (var bitmap = new Bitmap(width, height))
    {
        using (var canvas = Graphics.FromImage(bitmap))
        {
            canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            canvas.DrawImage(frame,
                             new Rectangle(0,
                                           0,
                                           width,
                                           height),
                             new Rectangle(0,
                                           0,
                                           frame.Width,
                                           frame.Height),
                             GraphicsUnit.Pixel);
            canvas.DrawImage(playbutton,
                             (bitmap.Width / 2) - (playbutton.Width / 2),
                             (bitmap.Height / 2) - (playbutton.Height / 2));
            canvas.Save();
        }
        try
        {
            bitmap.Save(/*somekindofpath*/,
                        System.Drawing.Imaging.ImageFormat.Jpeg);
        }
        catch (Exception ex) { }
    }
}

关于c# - 在 C#/.NET 中合并两个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465172/

相关文章:

c# - 带有SoundPlayer的C#音频-真的就是所有这些吗?

c# - 如何刷新列表框的数据源

.net - 编码文件路径

c# - 没有定义故障契约时,如何访问 SOAP 故障中的 <detail> 部分?

c# - 找不到类型或命名空间名称 'FormatterContext' .net 4.5

c# - 如何在 ASP.NET Core Identity 中检索用户的 2FA 恢复代码?

.net - 我怎样才能模拟大会?

html - 如何将图像转换为html?

python - Django,在从管理面板上传的模板中显示图像

python - 如何使用同一图片的二进制蒙版图像裁剪图像以去除python中的背景?