ImageMagick改变使用c#在调色板上替换颜色

本文关键字:调色板 替换 颜色 改变 ImageMagick | 更新日期: 2023-09-27 18:18:17

我有一个由第三方软件生成的位图图像,只允许使用基本的16种颜色。

我需要将纯黄色的RGB(255,255,0)更改为稍微深一点的阴影,所以当打印时,我们可以看到那里有RGB(255,192,0)的数据。

我找到了Mogrify命令,但它是在命令提示符中使用的,我需要在c#中使用与此等价的方法。

D

ImageMagick改变使用c#在调色板上替换颜色

我的答案是假设您的图像具有索引调色板。您可以使用System编辑. bmp文件(或索引的. png)的调色板。绘制对象。代码看起来像这样:

using System.Drawing;
using System.Drawing.Imaging;
...
using (var bmp = (Bitmap)(Image.FromFile("input.bmp")))
{
    var paletteCopy = bmp.Palette;
    // palette index 11 is bright yellow in the standard palette
    paletteCopy.Entries[11] = Color.FromArgb(255, 192, 0);
    bmp.Palette = paletteCopy;
    bmp.Save("output.bmp", ImageFormat.Bmp);
}