繁体   English   中英

C# 在另一个位图上绘制位图时出现透明度问题

[英]C# Problem with transparency when drawing a bitmap on another bitmap

我正在尝试在较大的位图上添加一个小位图,但小位图的透明度不透明! 就像不透明度为 50% 一样。

这是大图: 在此处输入图片说明

和小图像:

在此处输入图片说明

然后结果:

在此处输入图片说明

我不明白为什么小图像的背景不是透明而是“粉红色”。

这是我的代码:

Bitmap baseImage;
Bitmap overlayImage;

baseImage = (Bitmap)Image.FromFile(Path.Combine(Directory.GetCurrentDirectory(), @"Assets", "Img", "background_blue.jpg"));

overlayImage = (Bitmap)Image.FromFile(Path.Combine(Directory.GetCurrentDirectory(), @"Assets", "Img", "circle_red.png"));

var finalImage = new Bitmap(overlayImage.Width, overlayImage.Height);
var graphics = Graphics.FromImage(finalImage);
graphics.CompositingMode = CompositingMode.SourceOver;

graphics.DrawImage(baseImage, 0, 0);
graphics.DrawImage(overlayImage, 0, 0);


//save the final composite image to disk
finalImage.Save(Path.Combine(Directory.GetCurrentDirectory(), @"Assets", "Img", "result.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg);

你能帮我理解发生了什么吗,我完全迷路了! :D

我已经将我的项目从 Mac 复制到 Windows,然后我刚刚运行它并且它工作正常。 所以问题只在于 Mac 上的 VS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM