如何在Magick.NET中创建黑白图像

本文关键字:创建 黑白 图像 NET Magick | 更新日期: 2023-09-27 17:52:17

我想创建TIF, PNG, JPG和BMP像黑白图像通过https://magick.codeplex.com。

我发现,如果我喜欢在我的代码中,我只能生成TIF黑色和为什么图像,而不是其他类型的图像。

有任何线索如何修复它吗?

MagickReadSettings readSettings = new MagickReadSettings()
{
    UseMonochrome = true                    
};
using (MagickImage image = new MagickImage(fileInfo.FullName, readSettings))
{
    image.AddProfile(ColorProfile.SRGB);
    if (Properties.Settings.Default.ImageFileExtentionToConvert.ToLower().Contains("tif"))
    {
        image.CompressionMethod = CompressionMethod.Group4;
        image.ColorSpace = ColorSpace.Gray;
        image.Format = MagickFormat.Tif;
    }
    else if (Properties.Settings.Default.ImageFileExtentionToConvert.ToLower().Contains("png"))
    {
        // image.ColorSpace = ColorSpace.Gray;
        image.Settings.SetDefine(MagickFormat.Png, "compression-strategy", "0");
        image.Settings.SetDefine(MagickFormat.Png, "compression-filter", "0");
        image.Format = MagickFormat.Png;
    }
    else if (Properties.Settings.Default.ImageFileExtentionToConvert.ToLower().Contains("jpg"))
    {
        image.Settings.SetDefine(MagickFormat.Jpg, "compression-strategy", "0");
        image.Settings.SetDefine(MagickFormat.Jpg, "compression-filter", "0");
        image.Format = MagickFormat.Jpg;
    }
    else  
    {
        image.CompressionMethod = CompressionMethod.NoCompression;
        image.Format = MagickFormat.Bmp;
    }
    image.Write(newFileName);
}

如何在Magick.NET中创建黑白图像

我在这里找到了答案https://magick.codeplex.com/discussions/637181

using (MagickImage image = new MagickImage(pathToTiffFile))
{
    image.Threshold(60); // 60 is OK 
    image.Depth = 1;
    image.Write(pathToOutputFile);
}