2016-05-17 3 views
0

Я использую Eventviva для масштабирования изображения, изменение размера и т.д.PHP Eventviva расширяет прозрачный PNG

Проблема заключается в том, если я использую его для сохранения прозрачного PNG без изменения размеров или масштабирования, как этот

$image = new \Eventviva\ImageResize($file['tmp_name']); 
$image-save(self::getFilesDir($file['id'])); 

изображение, которое было 512x512px и 14kb в размерах теперь 1Mb

Eventviva использует следующие функции:

imagecreatefrompng, imagecreatetruecolor, IMA gealphablending, imagesavealpha, imagecopyresampled и в конце imagepng для сохранения изображения

Я не могу понять, какая часть увеличивает изображение. Вы можете посмотреть источник функции сохранения here

ответ

0

Возможно, это связано с тем, что глубина бит файла изменяется. Если вы используете Windows, проверьте поле «Бит глубина» в свойствах файла до и после изменения размера изображения.

enter image description here

Быстрый тест файла 500x500 PNG сохранен с 8-битной и 32-битной глубиной дает мне 61.6KB и 202KB, соответственно.

Вы можете уменьшить глубину бит конечного изображения, используя imagetruecolortopalette().