首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-03-16 
改变图像颜色。一个灰度图像,每个像素取值0~255,现在想把大于1的像素点都变成红色半透明。其他都变成全透明。

改变图像颜色。
一个灰度图像,每个像素取值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,直接操作数据

热点排行