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

【字号: 日期:2024-03-18浏览:45作者:雯心
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决在C#/NET中合并两个图像?

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

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) { } }}解决方法

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

基本思想是:创建一个500x500的空白画布,将150x150图像放置在该空白画布的中间,然后将500x500图像复制到上面,以便透明的中间部分可使150x150发光。

我知道如何在Java,PHP和Python中进行操作…我只是不知道在C#中要使用哪些对象/类,只需将图像复制到另一个示例中就可以了。

相关文章: