У меня проблема с изменением размера изображений.
Бывает такое, что если загрузить файл больше заявленных параметров, изображение обрезается, а затем сохраняется в 100% качестве.
Поэтому, если я загружаю большой jpeg размером 272 КБ. Изображение обрезается на 100 нечетных пикселей. Затем размер файла увеличивается до 1,2 МБ.
Мы сохраняем изображения в 100% качестве. Я предполагаю, что это является причиной проблемы. Изображение экспортируется из Photoshop с качеством 30%, что уменьшает размер файла. При повторном сохранении изображения со 100% качеством создается то же изображение, но я предполагаю, что с большим количеством избыточных файловых данных.
Кто-нибудь сталкивался с этим раньше? у кого-нибудь есть решение?
Это то, что мы используем.
$source_im = imagecreatefromjpeg ($file);
$dest_im = imagecreatetruecolor ($newsize_x, $newsize_y);
imagecopyresampled (
$dest_im, $source_im,
0, 0,
$offset_x, $offset_y,
$newsize_x, $newsize_y,
$sourceWidth, $sourceHeight
);
imagedestroy ($source_im);
if ($greyscale) {
$dest_im = $this->imageconvertgreyscale ($dest_im);
}
imagejpeg($dest_im, $save_to_file, $quality);
break;