Нужно написать на PHP функцию сжатия и изменения размера PNG изображения, причем если входящая фотография имеет 4 бита цвета то и на выходе должно быть 4 бита, если два то два бита. Вырезать метаданные фотографии exif_read_data() .
Цель. Нужно из исходного изображения сделать десяток изображений с разным размером при этом что бы вес картинки был в соответствии. Не увеличивался при меньшем размере!
Функцию я попыталась написать, мало опыта, исходник с комментариями тут то что есть.... сео.москва/funk.txt
Изначальная фотография имеет глубину цвета 2 бита (4 цвета) у меня не получается определить в исходном файле битность!(это первая проблема)
При выборе в строке 39 $this->palBit параметра 3(как я полагаю! ) должно сформироваться нужная битность, да так и происходит, но цвета заменяются! В место черного получается синий, другие меняются = результат фото 3.
Более наглядно будет сравнить три картинки. Вес и размер, то что получается.
сео.москва/images/3/chert... это исходное изображение 253кб. размер 8192 на 5798 2 бита
сео.москва/images/3/chert... то что получилось 320кб размер 6431 на 4551 4 бита.
сео.москва/images/3/chert... то что получилось 185кб размер 6431 на 4551 2 бита
Последняя картинка по размеру и по битности соответствует моим идеалам, но цвета потерялись., перепутались. Повторюсь, работаем полько PNG форматом......