问题描述
BitmapmyBitmap=newBitmap("lenna.bmp");//使用GetPixel和SetPixel将所有像素都设置为灰度)for(inti=0;i<myBitmap.Width;i++){for(intj=0;j<myBitmap.Height;j++){ColormyColor=myBitmap.GetPixel(i,j);intret=(int)(myColor.R*0.299+myColor.G*0.587+myColor.B*0.114);myBitmap.SetPixel(i,j,Color.FromArgb(ret,ret,ret));}}这段代码怎么用?在FORM类中还是PROGRAM中。初学者。给我这个代码不知道怎么用。目的是:直接提取像素法对彩色图像进行灰度化。请高手指点。谢谢。
解决方案
解决方案二:
bitmap图画是由很多个颜色点组成的,每一个点是一个pixel。如果你的图片大小是128*256说明有横着数有128个pixel竖着有256个pixel。现在你得到每一个pixel的颜色,然后吧颜色的R,G,B值经过处理以后(乘以你的那些参数)返回给图片上的原来那个点。这样子整体上所有的pixel都经过同样的处理,整个图片也就被处理过了。
时间: 2024-09-13 23:05:16