How to Convert Images to Grayscale in C#?
Jan 17, 2025 pm 12:57 PMDetailed explanation of C# image grayscale conversion
Converting images to grayscale format is a common image processing task. This article will explore how to use the System.Drawing.Imaging.PixelFormat
enumeration to implement grayscale conversion in C#.
16-bit pixel grayscale format
If you need a grayscale image with 16-bit pixels, you can use the following constructor:
Bitmap grayScaleBP = new System.Drawing.Bitmap(2, 2, System.Drawing.Imaging.PixelFormat.Format16bppGrayScale);
Image grayscale conversion
To convert an existing image (c) to a grayscale image (d) you can use the following code:
Bitmap d; int x, y; // 循环遍历图像像素并将其颜色重置为灰度 for (x = 0; x < ...; x++) { for (y = 0; y < ...; y++) { // 灰度转换逻辑... } }
(The specific grayscale conversion code in the loop body is omitted here because the original text does not provide complete loop body content)
Faster grayscale conversion method
The following is a more efficient method of image grayscale conversion:
public static Bitmap MakeGrayscale3(Bitmap original) { Bitmap newBitmap = new Bitmap(original.Width, original.Height); using (Graphics g = Graphics.FromImage(newBitmap)) { // 创建灰度ColorMatrix ColorMatrix colorMatrix = new ColorMatrix( new float[][] { new float[] {.3f, .3f, .3f, 0, 0}, new float[] {.59f, .59f, .59f, 0, 0}, new float[] {.11f, .11f, .11f, 0, 0}, new float[] {0, 0, 0, 1, 0}, new float[] {0, 0, 0, 0, 1} }); // 使用灰度ColorMatrix绘制原始图像 g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width, original.Height, GraphicsUnit.Pixel, new ImageAttributes { ColorMatrix = colorMatrix }); } return newBitmap; }
This method uses ColorMatrix
to perform grayscale conversion, thus improving performance.
The above is the detailed content of How to Convert Images to Grayscale in C#?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What are the types of values returned by c language functions? What determines the return value?

C language function format letter case conversion steps

What are the definitions and calling rules of c language functions and what are the

Where is the return value of the c language function stored in memory?

How do I use algorithms from the STL (sort, find, transform, etc.) efficiently?

How does the C Standard Template Library (STL) work?
