|
|
|
| Изформы приходит картинка без фона неизвестного размера.
Задача: пропорционально уменьшить размер изображения так, чтобы высота была равна 170px
Проблема: у картинки появляется черный фон.
Пробую делать так:
$nam = "logotip.png";
$uploadedfile = $_FILES['uploadfile']['tmp_name'];
$size = getimagesize($uploadedfile);
$src = imagecreatefrompng($uploadedfile);
// Необходимая высота картинки
$h = 170;
// Фактические размеры ширины и высоты
$w_src = $size[0];
$h_src = $size[1];
$ratio = $h_src/$h; // коэффициент уменьшения
$w_dest = round($w_src/$ratio); // новая ширина
$h_dest = round($h_src/$ratio); // новая высота
$dest = imagecreatetruecolor($w_dest,$h_dest);
// изменение размеров
imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
imagepng($dest,"imgs/".$nam);
|
Картинка сохраняется и становится нужных размеров, но добавляется черный фон, а исходная картинка на прозрачном фоне. Как решить? | |
|
|
|
|
|
|
|
для: Blizard
(07.11.2011 в 21:06)
| | А у вас PNG часом не с альфа-каналом (прозрачный)? Если да, то GDLib его корректно обрабатывать не умеет. | |
|
|
|