c# – 如何将两个图标合并在一起? (在另一个图标上叠加一个图标)

栏目: C# · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/2599778/how-to-merge-two-icons-together-overlay-one-icon-on-top-of-another

我有两个16×16 RGB / A .ICO图标文件,每个文件都加载到一个单独的System.Drawing.Icon对象中.

你将如何创建一个新的Icon对象,其中包含两个图标的合并(一个叠加在另一个上面)?

编辑:

我可能不太清楚,我不想将两个图像混合在一起,我想将一个图标叠加在另一个上面.

我应该补充说,图标已经包含透明部分,我不需要任何透明的“混合”来使两个图标都可见.我需要的是将一个图标的非透明像素覆盖在另一个图标的顶部.透明像素应该让背景图标显示出来.

例如,查看stackoverflow图标.它有一些灰色和橙色的区域,有些区域是完全透明的.想象一下,您想要在Firefox图标上叠加SO图标.你会看到SO图标的灰色和橙色是全彩色的,而SO图标是透明的,你会看到Firefox图标的那些部分.

这是我想出的最终功能.它比我想象的要简单……

感谢Eoin Campbell的辛勤工作.

public Icon AddIconOverlay(Icon originalIcon, Icon overlay)
{
    Image a = originalIcon.ToBitmap();
    Image b = overlay.ToBitmap();
    Bitmap bitmap = new Bitmap(16, 16);
    Graphics canvas = Graphics.FromImage(bitmap);
    canvas.DrawImage(a, new Point(0, 0));
    canvas.DrawImage(b, new Point(0, 0));
    canvas.Save();
    return Icon.FromHandle(bitmap.GetHicon());
}

翻译自:https://stackoverflow.com/questions/2599778/how-to-merge-two-icons-together-overlay-one-icon-on-top-of-another


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Scratch少儿趣味编程

Scratch少儿趣味编程

[ 日] 阿部和广 / 陶 旭 / 人民邮电出版社 / 2014-11 / 59.00元

Scratch 是麻省理工学院设计开发的一款编程工具,是适合少儿学习编程和交流的工具和平台,有中文版且完全免费。本书结合孩子们学习的语文、数学、科学、社会、音乐、体育等科目,手把手地教大家如何用Scratch 设计程序(如设计一个自动写作文的程序),配合各式卡通形象,通俗易懂,寓教于乐。麻省理工学院教授米切尔•瑞斯尼克作序推荐。 本书图文并茂,生动风趣,适合中小学生等初学者自学或在家长的帮助......一起来看看 《Scratch少儿趣味编程》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试