Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: marcom_dimar от Ноябрь 24, 2008, 22:10



Название: Постеризация. QImage и setNumColors.
Отправлено: marcom_dimar от Ноябрь 24, 2008, 22:10
Мне интересно, возможно ли постеризовать изображение, загнанное в QImage, при помощи метода setNumColors(int)? Судя по описанию метода, и его коду, ставя количество меньшее количества numColors результат будет не определен, оно так и получаетсо у меня, например после выполнения следующего кода:
Код
C++ (Qt)
 
   QImage image;
   image = QImage(size(), QImage::Format_Indexed8);
   image.load("filename0.bmp");
   image.setNumColors(2);
   image.save("filename1.bmp");
 
вместо изображения, на котором присутствовали, к примеру 6 цветов, я получаю изображение с присутствием того же количества цветов, только цвета меняются непонятным образом и иногда само изображение сдвигается. Если же считывать не в .bmp, а в .jpg, то изображение вообще остаетсо без изменений.

Ещё интересно в таблице цветов, образующейся при считывании картинки в Indexed8, цвета располагаются по, к примеру, возрастанию или же как считались с картинки так и занеслись в табличку?

И есть ли в Qt функция постеризации изображения?