我有一个图像被创建并手动保存为一个文件,该文件具有图像中透明的形状(例如心脏),并且图像的其余部分有其他颜色。如何在.NET中以编程方式使用指定颜色制作透明形状,而不改变图像的其余部分?如何在.NET中以编程方式对图像的透明部分着色
例如,提供的是一个图像,我想用一种颜色填充透明部分。
http://www.sendspace.com/file/an53a1
我有一个图像被创建并手动保存为一个文件,该文件具有图像中透明的形状(例如心脏),并且图像的其余部分有其他颜色。如何在.NET中以编程方式使用指定颜色制作透明形状,而不改变图像的其余部分?如何在.NET中以编程方式对图像的透明部分着色
例如,提供的是一个图像,我想用一种颜色填充透明部分。
http://www.sendspace.com/file/an53a1
你需要的是一个洪水填充算法。 请看看这个:
http://www.codeproject.com/KB/GDI-plus/floodfillincsharp.aspx
它是透明的。所以先用Graphics.Clear()然后用Graphics.DrawImage()绘制图像,然后用你想要的颜色绘制背景。
用这种方法,他将填补是透明的......他的需求并不好,如果你下载的图片你会本身,要么出的所有部分它的心是透明的... – 2011-04-10 13:49:11
感谢Hans Passant和MarinoŠimić的建议。有没有办法用不同的颜色填充不同的透明部分。例如,心脏内部为一种颜色,心脏外部为另一种颜色。 – Pingpong 2011-04-10 14:07:13
蹩脚的托管服务,通行证。好的,使用Graphics.FillRectangle进行背景绘画。无论使用哪种方式,您当然都必须知道心脏所在的位置。 – 2011-04-10 14:07:46