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

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

内容简介:翻译自: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


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

查看所有标签

猜你喜欢:

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

零边际成本社会

零边际成本社会

[美]杰里米·里夫金 / 赛迪研究院专家组 / 中信出版社 / 2014-11-1 / 49.00

在这本书中,《第三次工业革命》作者杰里米•里夫金开创性地探讨了极致生产力、协同共享、产消者、生物圈生活方式等全新的概念,详细地描述了数以百万计的人生产和生活模式的转变。他认为,“产消者”正在以近乎零成本的方式制作并分享自己的信息、娱乐、绿色能源和3D打印产品。他们也通过社交媒体、租赁商、合作组织以极低或零成本的模式分享汽车、住房、服装和其他物品;学生更多地参与到基于零成本模式的开放式网络课程…… ......一起来看看 《零边际成本社会》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

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

正则表达式在线测试