使用c#通过另一个图像或颜色的图像蒙版

时间:2014-11-03 08:49:33

标签: c# image image-processing bitmap

我在c#

中就像上面的问题一样寻找解决方案

question about android

我知道如何用颜色来做这件事,但我也需要用图像来做这件事。

以下是我的颜色替换代码:

Bitmap bit = new Bitmap(img);
for (int y = 0; y < img.Height; y++)
{
    for (int x = 0; x < img.Width; x++)
    {
       if (bit.GetPixel(x, y).A != 0)
       {
          bit.SetPixel(x, y, Color.Red);
       }
    }
}
bit.Save(stream, ImageFormat.Png);

1 个答案:

答案 0 :(得分:0)

我不知道是否是最好的答案,但它正在发挥作用。

System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("OriginalImagePath"));
Bitmap bit = new Bitmap(img);

System.Drawing.Image mask = System.Drawing.Image.FromFile(Server.MapPath("MaskImagePath"));
Bitmap bitMask = new Bitmap(mask);

for (int y = 0; y < img.Height; y++)
{
    for (int x = 0; x < img.Width; x++)
    {
       if (bit.GetPixel(x, y).A != 0)
       {
            bit.SetPixel(x, y, bitMask.GetPixel(x, y));
            //bit.SetPixel(x, y, Color.Red);
       }
    }
}

如果蒙版图像的尺寸与原版不同,我们需要先裁剪它才能更换像素, 当然。