📜  节点 | GMorderedDither()函数(1)

📅  最后修改于: 2023-12-03 15:11:49.108000             🧑  作者: Mango

GMorderedDither()函数介绍

GMorderedDither()函数是GraphicsMagick/GM中的一个图像处理函数,用于使用有序抖动算法来将图像降低色彩深度。该函数将图像区域分解成子区域,并为每个子区域应用一个预定义的dither matrix。该算法在图像中生成了像素值的模式,以模拟大于目标深度的色彩,进而提高图像的视觉品质。

语法
gm orderedDither order
参数
  • order:是指定有序抖动算法类型的整数值(1到7),以便于选定不同的图案。具体地,

    • 1:Bayer算法
    • 2:Cluster算法(平均分布)
    • 3:Cluster算法(反方向分布)
    • 4:轮廓算法
    • 5:对角算法
    • 6:八方向平均值算法(平均分布)
    • 7:八方向平均值算法(反方向分布)
示例

以使用Bayer算法降低一张PNG图片(原始色彩深度为24位)为例,我们可以通过以下步骤实现:

  1. 确保你已经安装了GraphicsMagick/GM,具体安装方式可参见官方网站。然后,打开终端(MacOS)或命令提示符(Windows),输入以下指令确认已经安装成功,且gm命令已经加入PATH环境变量。

    gm -version
    
  2. 在命令行中输入以下指令。其中,order为1表示我们使用Bayer算法,并将结果保存为output.png

    gm orderedDither 1 input.png output.png
    

至此,我们已经成功使用GMorderedDither()函数将图片降低色彩深度,并生成了一张降低色彩深度的图片。

注意事项
  • GMorderedDither()函数的输入图像必须为PNG格式。如果图片不是PNG格式,需要先使用GM中ImageMagick的ImageSharp来转换图片格式,即:

    gm convert input.jpg input.png
    
  • GMorderedDither()函数将产生抖动效果,因此当色彩降低过多(如将24位RGB降低到8位)时,可能会存在诸如“梯度带”的不良效果。此时应采用其他算法来处理图片。