Комментарии: Правильный ресайз прозрачных картинок на PHP https://intsystem.org/coding/correct-resize-transparent-images-on-php/ Случаи из опыта разработки различных WEB проектов. Интересные факты, статьи, впечатления. Программирование и все о нем в сфере WEB. Sun, 05 Jun 2022 12:17:59 +0000 hourly 1 https://wordpress.org/?v=6.6.1 Автор: Alex https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-56981 Sun, 05 Jun 2022 12:17:59 +0000 http://intsystem.org/?p=923#comment-56981 if($out_extd == «gif»)
{
$color = imagecolorallocate($image_new, 256, 256, 256);
/// 256 — несуществующее значение цвета. У меня работает вроде норм. Не приходится выбирать цвет «жертвоприношения». Может я что-то конечно не учитываю.
imagecolortransparent($image_new, $color);
imagefill($image_new, 0, 0, $color);
}

]]>
Автор: Сергей https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-28101 Thu, 18 May 2017 15:05:59 +0000 http://intsystem.org/?p=923#comment-28101 Болшое спасибо! Ваша статья мне помогла.

]]>
Автор: Михаил https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-25924 Wed, 14 Dec 2016 12:48:33 +0000 http://intsystem.org/?p=923#comment-25924 СПАСИБО!!! То, что надо))

]]>
Автор: Шум Каблионч https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-25199 Mon, 07 Nov 2016 21:15:27 +0000 http://intsystem.org/?p=923#comment-25199 В ответ на Дмитрий Амиров.

Всё равно спасибо. Много у вас взял.

]]>
Автор: Дмитрий Амиров https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-25175 Mon, 07 Nov 2016 00:18:02 +0000 http://intsystem.org/?p=923#comment-25175 В ответ на Шум Каблионч.

Нет. Анимированные гифки должны обрабатываться немного иначе. Погуглите про ресайз анимированных гифок. Я с такой задачей не сталкивался, не смогу помочь.

]]>
Автор: Шум Каблионч https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-25172 Sun, 06 Nov 2016 21:36:30 +0000 http://intsystem.org/?p=923#comment-25172 А у меня в гифе, после этого преобразования остаётся только первый кадр.
Так и должно быть?

]]>
Автор: Сереня https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-24429 Wed, 14 Sep 2016 17:14:23 +0000 http://intsystem.org/?p=923#comment-24429 юзайте imagecreatefrompng !! и памяти в 2р меньше жрет!!! качество чуть ниже.. хз. для аватарок самое то!

]]>
Автор: Дмитрий Амиров https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-19850 Wed, 07 Oct 2015 22:13:27 +0000 http://intsystem.org/?p=923#comment-19850 В ответ на Евгений.

Боюсь что я не знаю причин такого поведения. Да и впрочем уже не особо помню особенности работы с картинками в php. Поэтому боюсь вам прийдется самому искать причину проблемы(
PS: как решите — отпишитесь тут пожалуйста)

]]>
Автор: Евгений https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-19848 Wed, 07 Oct 2015 19:08:24 +0000 http://intsystem.org/?p=923#comment-19848 Спасибо за разъяснение, но почему-то никак не могу добиться прозрачности водяного знака при наложении его на картинку. Вот такой код:

$picture = ImageCreateTrueColor($arDestinationSize["width"], $arDestinationSize["height"]);
imagealphablending( $picture, false);
imagesavealpha( $picture, true);
$pngWaterMarkImg = @imagecreatefrompng($_SERVER["DOCUMENT_ROOT"] . $arWaterMark["path_to_watermark"]);
imagecopyresampled($picture, $pngWaterMarkImg, ($arPictureSize["x"] - $newwidth) / 2, ($arPictureSize["y"] - $newheight) / 2, 0, 0, $newwidth, $newheight, $arWaterMarkImgSize['x'], $arWaterMarkImgSize['y']);
imagedestroy($pngWaterMarkImg);

Причем на денвере все нормально работает, а на хостинге не хочет. Подскажите, может ли что-то зависеть от настроек сервера? Может версия пхп или gd? Спасибо.

]]>
Автор: Дмитрий Амиров https://intsystem.org/coding/correct-resize-transparent-images-on-php/#comment-18787 Thu, 23 Jul 2015 16:45:00 +0000 http://intsystem.org/?p=923#comment-18787 В ответ на OLWerd.

Честно сказать не знаю как это можно переформулировать, даже после того как вы сакцентировали на этом внимание… но вроде понятно же, нет?

]]>