如何获得图像中透明度的坐标

时间:2014-06-25 13:47:15

标签: c# image transparency

我是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

谢谢大家!

1 个答案:

答案 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) ; 
         }
    }
  } 

}