相关疑难解决方法(0)

将图像转换为灰度

有没有办法将图像转换为每像素格式16位灰度,而不是将每个r,g和b分量设置为亮度.我目前有一个文件bmp.

Bitmap c = new Bitmap("filename");
Run Code Online (Sandbox Code Playgroud)

我想要一个Bitmap d,即c的灰度版本.我确实看到一个包含System.Drawing.Imaging.PixelFormat的构造函数,但我不明白如何使用它.我是Image Processing和相关C#库的新手,但对C#本身有一定的经验.

任何帮助,参考在线来源,提示或建议将不胜感激.

编辑:d是c的灰度版本.

c# bitmap image-processing grayscale

55
推荐指数
6
解决办法
13万
查看次数

将位图转换为单色

我试图将图像保存为单色(黑白,1位深度),但我现在失去了如何做到这一点.

我开始用一个PNG,并转换为位图打印(这是一个热敏打印机,仅支持黑色反正 - 加上它的地狱大型图像慢,如果我尝试将它们发送的彩色/灰度).

到目前为止,我的代码很简单,无法将其转换为位图,但它保留了原始颜色深度.

Image image = Image.FromFile("C:\\test.png");

byte[] bitmapFileData = null;
int bitsPerPixel = 1;
int bitmapDataLength;

using (MemoryStream str = new MemoryStream())
{
    image.Save(str, ImageFormat.Bmp);
    bitmapFileData = str.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

c# image bitmap thermal-printer

10
推荐指数
1
解决办法
2万
查看次数

在c#中将图像转换为黑白或棕褐色

我想将图像更改为Black-White或Sepia.转换图像后,我想用转换后的图像替换现有图像.

请给我一些建议.

image-processing c#-3.0

5
推荐指数
2
解决办法
2万
查看次数

如何将32位RGBA图像转换为保留alpha的灰度

我想在代码和按需中将32位RGBA Image对象(最初是32位PNG)转换为32位灰度对应物.

我已经在这里阅读其他几个问题,以及很多在线文章.我已经尝试过使用ColorMatrix来做到这一点,但它似乎并没有很好地处理alpha.完全不透明灰度的像素完美无缺.任何部分透明的像素似乎都不能很好地转换,因为这些像素中仍然存在色彩.这足以引人注目.

我使用的ColorMatrix如下:

new System.Drawing.Imaging.ColorMatrix(new float[][]{
                    new float[] {0.299f, 0.299f, 0.299f, 0, 0},
                    new float[] {0.587f, 0.587f, 0.587f, 0, 0},
                    new float[] {0.114f, 0.114f, 0.114f, 0, 0},
                    new float[] {     0,      0,      0, 1, 0},
                    new float[] {     0,      0,      0, 0, 1}
                    });
Run Code Online (Sandbox Code Playgroud)

正如我所读到的,这是一个非常标准的NTSC加权矩阵.我随后使用它,Graphics.DrawImage但正如我所说,部分透明像素仍然是彩色的.我应该指出这是通过WinForms PictureBox在白色背景上显示Image对象.它可能只是PictureBox绘制图像和处理透明部分的方式吗?背景颜色不会影响它(颜色的色调肯定来自原始图像),但也许PictureBox没有正确地重绘透明像素?

我见过一些使用FormatConvertedBitmap和OpacityMask的方法.我没有尝试过,主要是因为我真的不想导入PresentationCore.dll(更不用说这意味着它不适用于.NET 2.0有限的应用程序).当然基本的System.Drawing.*东西可以做这个简单的程序吗?或不?

.net c# image image-processing image-conversion

0
推荐指数
1
解决办法
3176
查看次数