我有一个PixelFormat
Format32bppRgb
的System.Drawing.Bitmap。
我希望将此图像转换为8位的位图。
以下是将32位图像转换为8位灰度图像的代码:
public static Bitmap ToGrayscale(Bitmap bmp)
{
int rgb;
System.Drawing.Color c;
for (int y = 0; y < bmp.Height; y++)
for (int x = 0; x < bmp.Width; x++)
{
c = bmp.GetPixel(x, y);
rgb = (int)((c.R + c.G + c.B) / 3);
bmp.SetPixel(x, y, System.Drawing.Color.FromArgb(rgb, rgb, rgb));
}
return bmp;
}
但是,我最终得到的Bitmap
仍然具有Format32bppRgb
的PixelFormat属性。
另外,
感谢您的任何意见!
相关。
- Convert RGB image to RGB 16-bit and 8-bit
- C# - How to convert an Image into an 8-bit color Image?
- C# Convert Bitmap to indexed colour format
- Color Image Quantization in .NET
- quantization (Reduction of colors of image)
- The best way to reduce quantity of colors in bitmap palette
答案 0 :(得分:3)