使黑色像素透明

时间:2016-03-02 02:29:42

标签: c# image image-processing pixel

我有两张图片,尺寸相同。现在我需要删除图像1中的像素,这是btmp中的黑色

for (int c = 0; c < selFrame.Width; c++)
  for (int j = 0; j < selFrame.Height; j++)
    {

     var pixel = selFrame.GetPixel(c, j);
     var pixel2 = btmp.GetPixel(c, j);
     if (pixel2.Equals(Color.Black) || pixel2.IsEmpty)
       {
       MessageBox.Show("qwe");
       selFrame.SetPixel(c, j, Color.Transparent);
       }

    }

MessageBox没有显示,因此这意味着它没有通过If条件。

这是btmp

Image 2

1 个答案:

答案 0 :(得分:1)

因为[255,0,0,0] 等于myPackage/data/this_dataset.RData

来自documentation:

  

例如,Black和FromArgb(0,0,0)不相等,因为Black是命名颜色而FromArgb(0,0,0)不是。

根据上述文档中的建议,将支票更改为:

Color.Black