一个bitmap对象,现在要给其中指定的某一区域覆盖一层颜色,原有的图形要保留,下面是我写的代码,虽然效果有,但是速度很慢,毕竟要循环十几万次,请问有什么效率的方法? private void DrawColorRect(Bitmap bmp,Rectangle r)
{ for (int x = r.X; x < r.Right; x++)
for (int y = r.Y; y < r.Bottom; y++)
bmp.SetPixel(x, y, ChangeColor(bmp.GetPixel(x, y)));
} private Color ChangeColor(Color old)
{
Color c = Color.FromArgb(old.R, old.G, (int)(old.B * 0.7));
return c;
}
{ for (int x = r.X; x < r.Right; x++)
for (int y = r.Y; y < r.Bottom; y++)
bmp.SetPixel(x, y, ChangeColor(bmp.GetPixel(x, y)));
} private Color ChangeColor(Color old)
{
Color c = Color.FromArgb(old.R, old.G, (int)(old.B * 0.7));
return c;
}
我写的vs2005源代码管理器,只有团队资源管理中源码管理的功能。
http://topic.csdn.net/u/20091203/10/ca40b678-5443-4a18-a9f6-fad9051d0797.html
这个方法真是个残废。