改变图像颜色。
一个灰度图像,每个像素取值0~255,现在想把大于1的像素点都变成红色半透明。其他都变成全透明。
下面是我写的c#代码。可以实现,但效率很慢,640*480的图像要很长时间。有没有其他办法快一点?
c++的代码也行,谢谢!
for (int y = 0; y < InImage.Height; y++)
{
for (int x = 0; x < InImage.Width; x++)
{
Color color = InImage.GetPixel(x, y);
if (color.R > 1)
{
Color outColor = Color.FromArgb(255/2, 255, 0, 0);
tempImage.SetPixel(x, y, outColor);
}
else
{
Color outColor = Color.FromArgb(0, color.R, color.G, color.B);
tempImage.SetPixel(x, y, outColor);
}
}
}