Изменение размера png прозрачно с помощью JImage, окончательный файл не копируется

Я использую JImage для изменения размера загруженных изображений, но когда я пытаюсь изменить размер прозрачного png, результирующее изображение не копируется в каталог. Я не могу понять, в чем проблема. Метод toFile () не копирует прозрачный png в каталог, он хорошо работает с jpg и png без прозрачности.

Код, который я использую, следующий:

$image = new JImage($originalFile);
$properties = JImage::getImageFileProperties($originalFile);
$resizedImage = $image->resize('200', '200', true);

$mime = $properties->mime;

if ($mime == 'image/jpeg')
{
    $type = IMAGETYPE_JPEG;
}
elseif ($mime = 'image/png')
{
    $type = IMAGETYPE_PNG;
}
elseif ($mime = 'image/gif')
{
    $type = IMAGETYPE_GIF;
}

$resizedImage->toFile($finalFile, $type);

Любые идеи о том, как заставить его работать с прозрачным png?

2 голоса | спросил user3533235 14 52014vEurope/Moscow11bEurope/MoscowFri, 14 Nov 2014 12:53:58 +0300 2014, 12:53:58

1 ответ


1

Если вы посмотрите на реализацию JImage, она не вызывает вызовы imagealphablending и другие процедуры, обычно используемые для обработки прозрачных изображений; но изучая реализацию resize() и crop() кажется, что он сам обрабатывает прозрачность. Итак (если вы используете Joomla 3.x), код должен работать с прозрачными изображениями уже.

Если у вас есть прецедент, когда он не работает, и вы не пытаетесь преобразовать из или в jpg ( который, конечно же, не обеспечивает прозрачности в первую очередь), просто добавьте здесь дополнительную информацию.

Я мог бы указать, что проблема может заключаться в очевидных ошибках в вашем коде:

elseif ($mime = 'image/png')

вы, кажется, используете один «=» вместо двух «==»

ответил Riccardo Zorn 29 62014vEurope/Moscow11bEurope/MoscowSat, 29 Nov 2014 13:03:24 +0300 2014, 13:03:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132