Я должен изменить размеры изображений, потому что мы загружаем печатные изображения в высоком разрешении и для предварительного просмотра людям не нужно изображение 4000px +. Некоторые изображения используют цветовое пространство rgb «eci», а другие используют цветовое пространство srgb. У файлов srgb нет проблем, но eci выглядит немного бесцветнее, чем раньше. И когда я загружаю прозрачное изображение, оно не идеально прозрачное. Есть ли решение? Когда я изменяю размер и изображение в формате png, я использую следующую дополнительную функцию.
private function imagetranstowhite($trans) {
// Create a new true color image with the same size
$w = imagesx($trans);
$h = imagesy($trans);
$white = imagecreatetruecolor($w, $h);
// Fill the new image with white background
$bg = imagecolorallocate($white, 255, 255, 255);
imagefill($white, 0, 0, $bg);
// Copy original transparent image onto the new image
imagecopy($white, $trans, 0, 0, 0, 0, $w, $h);
return $white;
}
у кого-нибудь есть решение? Imagemagick вместо gdlib тоже подойдет.
Не делайте PNG больше, виртуально. Вместо этого начните с такого большого разрешения PNG, которое вам потребуется, а затем практически уменьшите его при необходимости. Таким образом, вы сохраните разрешение PNG, и вам больше не придется с ним связываться, после этого. Это самое быстрое, простое и лучшее решение.
Других решений пока нет …