Прозрачные изображения gif не загружаются после поворота

  • Автор темы victorgan
  • 17
  • Обновлено
  • 13, May 2024
  • #1
@deathshadow и другие... Я работаю над скриптом, который позволяет поворачивать изображения перед загрузкой. Все изображения загружаются нормально, кроме прозрачные gif-изображения. Если их не повернуть, они загружаются нормально, но при повороте они не отображаются в папке загрузки. $source пуст. Думаю, проблема где-то здесь:
 

......

$allowTypes = array('image/png','image/jpg','image/jpeg','image/gif');

......

if(!empty($rotation)){

switch($fileType){

case 'image/png':

$source = imagecreatefrompng($fileTemp);

break;

case 'image/gif':

$source = imagecreatefromgif($fileTemp);

break;

default:

$source = imagecreatefromjpeg($fileTemp);

}

$imageRotate = imagerotate($source, $rotation,0);

switch($fileType){

case 'image/png':

$upload = imagepng($imageRotate, $filePath);

break;

case 'image/gif':

$upload = imagegif($imageRotate, $filePath);

break;

default:

$upload = imagejpeg($imageRotate, $filePath);

}

}

Код (разметка): Что-то мне не хватает?

victorgan


Рег
04 Nov, 2011

Тем
2

Постов
4

Баллов
24
  • 10, Jun 2024
  • #2
Ваш код у меня работает идеально. Какой угол поворота вы используете? Люди сообщали здесь об ошибках при использовании определенных углов.
https://www.php.net/manual/en/function.imagerotate.php

Можете ли вы предоставить изображение, которое вы используете? Не прикрепляйте комментарий здесь.

Загрузите на свой сервер и дайте ссылку на гифку, пожалуйста.

Можете ли вы запустить этот код:

//имя исходного файла

$fileTemp='animal.gif';

//имя файла назначения

$filePath = 'animal11.gif';

$source = imagecreatefromgif($fileTemp);

if( !$source ){ echo "нет изображения"; }else{ echo "получено изображение"; }

$imageRotate = imagerotate($source, 180, 0);

if( !$imageRotate ){ echo "нет вращения"; }else{ echo "Вращение завершено"; }

$upload = imagegif($imageRotate, $filePath);
 

ivanlosin


Рег
01 Jan, 2011

Тем
0

Постов
2

Баллов
2
  • 11, Jun 2024
  • #3
Это gif-изображение, которое я использовал для тестирования:
https://www7.lunapic.com/editor/premade/transparent.gif

Он загружается нормально, если его не повернуть. Когда я поворачиваю и сохраняю его, в папке загрузки ничего не отображается. Ноль, пшик.
 

jobrek


Рег
13 Sep, 2010

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно