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

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

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


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

查看所有标签

猜你喜欢:

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

Python金融大数据分析

Python金融大数据分析

[德] 伊夫·希尔皮斯科 / 姚军 / 人民邮电出版社 / 2015-12 / CNY 99.00

唯一一本详细讲解使用Python分析处理金融大数据的专业图书;金融应用开发领域从业人员必读。 Python凭借其简单、易读、可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析、处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业开发核心应用的首选编程语言。《Python金融大数据分析》提供了使用Python进行数据分析,以及开发相关应用程序的技巧和工具。 《Python金融大......一起来看看 《Python金融大数据分析》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

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

Markdown 在线编辑器