怎样实现批量修改图片像素的颜色(20分)

  • 主题发起人 主题发起人 TENTODBV
  • 开始时间 开始时间
T

TENTODBV

Unregistered / Unconfirmed
GUEST, unregistred user!
一个目录下有许多BMP,JPG,GIF格式的图片,理想状态下这些图片应该是白色的底色的,用黑线条画了许多平行四边形,四边形里面填充了红绿篮橙黄灰中的其中一种颜色,但由于图像经过格式的有损转换,现在的图片的颜色已经不纯正了,比如红色色块已经不是RGB(255,0,0)的纯红色了,但肉眼看基本上还是明显是红色。我想写个程序实现这样的功能就是自动把这些图片的色块纯正化并且改变颜色。比如原来是纯红色平行四边形色块里面掺杂这少量的暗红色杂色斑点,现在一律改成纯绿色,变成纯绿色的平行四边形色块。请高手指点,给出关键思路和代码,谢谢。
 
要是bmp格式的还可以弄但是jpg,和gif偶就不会了啊
 
那就说说bmp格式的怎么弄吧。另外两种暂时不考虑。
 
首先怎么判断一个像素点是暗红呢,如何确定暗红的RGB的取值范围呢?
 
BMP.Canvas.Pixels[x,y]
就是BMP的坐标点(X,Y) 点的颜色值。 可以读可以直接赋值。
 
正如上面所说
你可以把bmp格式的图片当作是一个颜色的矩阵
可以通过Canvas.Pixels[x,y]访问他的一个点的颜色
然后把这个点对应的颜色三分量看接近0还是255分别赋予0 or255
一个点会操作了一个图也就可以了
 
后退
顶部