读书人

改变图像颜色。该怎么解决

发布时间: 2012-03-16 16:34:56 作者: rapoo

改变图像颜色。
一个灰度图像,每个像素取值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);
}
}
}

[解决办法]
用GDI,直接操作数据

读书人网 >VC/MFC

热点推荐