我在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);
答案 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);
}
}
}
如果蒙版图像的尺寸与原版不同,我们需要先裁剪它才能更换像素, 当然。