【问题标题】:FormatConvertedBitmap poor Black and White resultsFormatConvertedBitmap 黑白效果不佳
【发布时间】:2012-05-02 15:48:43
【问题描述】:

这似乎是转换位图像素格式的标准方法,但在转换为黑白格式时效果很差:

    // convert to black & white bitmap
    FormatConvertedBitmap monoBitmap = new FormatConvertedBitmap(bitmap, PixelFormats.BlackWhite, null, 0);

    // save black & white bitmap to file
    fileName = string.Format("{0}.bmp", data.SelectedProduct.Code);
    bitmapEncoder = new BmpBitmapEncoder();
    bitmapEncoder.Frames.Add(BitmapFrame.Create(monoBitmap));
    using (Stream stream = File.Create(fileName))
    {
        bitmapEncoder.Save(stream);
    }

生成的图像文件非常粗糙且像素化。我需要将它发送到行式打印机,所以我需要锋利的边缘。

转换前的原件看起来不错(它的 32BPP 颜色),如果我使用 IrfanView 之类的工具将原件手动转换为黑白,它的效果也比 .NET 所做的要好得多。

在 .NET 中是否有另一种替代方法来代替 FormatConvertedBitmap?

【问题讨论】:

  • 你检查我的答案了吗?让我知道这是否是您想要实现的目标。

标签: wpf bitmap


【解决方案1】:

它使用PixelFormats.BlackWhite,它在生成的图像中仅使用黑白颜色,如果有较暗像素包围的浅色像素,这可能会使它看起来有颗粒感。如果您将图像转换为使用灰色阴影,我想效果会更好。为此,请使用这一行代码,而不是您发布的代码中的那一行:

FormatConvertedBitmap monoBitmap = new FormatConvertedBitmap(bitmap, PixelFormats.Gray32Float, null, 0);

这应该将图像转换为仅使用灰色阴影,因此不需要颜色来打印它。

如果是你想要达到的效果,请告诉我。

您可以在此处找到有关PixelFormats 课程的更多信息:http://msdn.microsoft.com/en-us/library/system.windows.media.pixelformats.aspx

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 2011-06-18
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 2011-12-22
    • 1970-01-01
    • 2021-01-25
    相关资源
    最近更新 更多