使用c#通过其他图像或颜色进行图像掩码

本文关键字:图像 颜色 掩码 使用 其他 | 更新日期: 2023-09-27 18:28:48

我正在c#中寻找解决方案,就像上面的问题一样

关于安卓的问题

我知道如何处理颜色,但我也需要处理图像。

这是我的颜色替换代码:

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);

使用c#通过其他图像或颜色进行图像掩码

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

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

如果掩模图像的大小与原始图像不同,我们需要在替换像素之前对其进行裁剪,当然