САМОУЧИТЕЛЬ PHP 4

       

Определение параметров изображения


Как только картинка создана и получен ее идентификатор, GD становится совершенно все равно, какой формат она имеет и каким путем ее создали. То есть все остальные действия с картинкой происходят через ее идентификатор, вне зависимости от формата, и это логично— ведь в памяти изображение все равно хранится в распакованном виде (наподобие BMP), а значит, информация о ее формате нигде не используется. Так что вполне возможно открыть PNG-изображение с помощью imageCreateFromPng() и сохранить ее на диск функцией imageJpeg(), уже в другом формате. В дальнейшем можно в любой момент времени определить размер загруженной картинки, воспользовавшись функциями imageSX() и imageSY():

int imageSX(int $im)

Функция возвращает горизонтальный размер изображения, заданного своим идентификатором, в пикселах.

int imageSY(int $im)

Возвращает высоту картинки в пикселах.

int imageColorsTotal(int $im)

Эту функцию имеет смысл применять только в том случае, если вы работаете с изображениями, "привязанными" ê êîíêðåòíîé ïàëèòðå — например, с файлами GIF. Она возвращает текущее количество цветов в палитре. Как мы вскоре увидим, каждый вызов imageColorAllocate()

увеличивает размер палитры. В то же время известно, что если при небольшом размере палитры GIF-картинка сжимается очень хорошо, то при переходе через степень двойки (например, от 16 к 17 цветам) эффективность сжатия заметно падает, что ведет к увеличению размера (так уж устроен формат GIF). Если мы не хотим этого допустить и собираемся вызывать imageColorAllocate()

только до предела 16 цветов, а затем перейти на использование imageColorClosest(), нам очень может пригодиться рассматриваемая функция.



Содержание раздела