Я пытаюсь использовать Imagick через php для создания 8-битного BMP из jpg. Но я хотел бы, чтобы пиксельные цвета начинались с индекса 16, а не из 0. В приведенном ниже коде показано, как создать BMP в нужном формате, который мне нужен, но индекс палитры по умолчанию равен 0. Есть ли способ убедиться, что начало палитры по другому индексу?Как использовать Imagick php для создания файла BMP с смещением палитры
$average = new Imagick("icon.jpg"); $average->setCompression(Imagick::COMPRESSION_NO); $average->quantizeImage(32, Imagick::COLORSPACE_RGB, 0, false, false); imagecolorset ($average, 0, 255, 255, 255); $average->setImageFormat("bmp"); header("Content-Type: image/bmp"); echo $average; $average->clear(); $average->destroy();
Я только что нашел то, о чем я не знал; класс ImagickPixelIterator. что может быть полезно при переходе через все пиксели, нашел этот блог об этом http://valokuva.org/?p=79 –
Спасибо, что указал мне правильные направления. Я надеялся, что будет более эффективный процесс. Интенсивность заключалась в том, чтобы превратить полученный BMP в pixmap, но кажется менее интенсивным изменить индекс pixmap, чем bmp, поэтому я думаю, что поеду с этим методом. В очередной раз благодарим за помощь. – rikonholiday