我是C#的新手,我有一个透明边框的图像(C#中的Image类型)。我想获得该图像有多少透明度的坐标。
我知道C#中有一个名为Color.Transparency的属性(这是链接:http://msdn.microsoft.com/en-us/library/system.drawing.color.transparent(v=vs.110).aspx),但我不确定如何实际使用它来获取透明度所在的坐标。 它不编译只是简单地写下语句:Image.Color.Transparent
(例如,图像是PNG,然后转换为BMP,我可以使用任一文件格式来获取这些坐标:http://www.techsmith.com/tutorial-snagit-transparency-prior.html)
谢谢大家!
答案 0 :(得分:3)
如果您处理Bitmap对象,可以使用以下方法:
private static IEnumerable<System.Drawing.Point> GetTransparencyPoints(System.Drawing.Bitmap image)
{
for (int i = 0 ; i < image.Width ; i ++ ) {
for (int j = 0 ; j < image.Height ; j ++) {
Color color = image.GetPixel(i, j) ;
if (color == Color.Transparent) {
yield return new System.Drawing.Point(i, j) ;
}
}
}
}