У меня есть несколько изображений, которые я обрабатываю с помощью ImageMagick.В этом случае я конвертирую PNG RGBA в индексированный PNG.Если я использую инструмент convert
, у меня есть разумный контроль над количеством цветов в индексированном PNG:
$ convert infile.png -colors 128 outfile.png
$ identify outfile.png
outfile.png PNG 77x77 77x77+0+0 8-bit PseudoClass 91c 3.03KiB 0.000u 0:00.000
Кажется, что значительно уменьшается количество цветов (91 <128), который я пытаюсь сделатьто же самое преобразование с MagickWand <code>MagickQuantizeImage(wand, 128, RGBColorspace, tree_depth=1, 0, 0).Сигнатура функции:
MagickBooleanType MagickQuantizeImage(
MagickWand *wand,
const size_t number_colors,
ColorspaceType colorspace,
const size_t treedepth,
const MagickBooleanType dither,
const MagickBooleanType measure_error)
Конечным результатом является изображение со слишком малым количеством цветов (всего 11!):
$ identify wandoutfile.png
wandoutfile.png PNG 77x77 77x77+0+0 8-bit PseudoClass 11c 1.31KiB 0.000u 0:00.000
Кто-нибудь знает, как добиться уменьшения цветаиспользуя MagickWand (не уничтожая изображение в процессе?)
Спасибо!