Конвертируйте изображение JPG в GIF и печатайте его в тег IMG в BASE64 - PullRequest
1 голос
/ 06 сентября 2010

Это мой реальный код, у меня проблемы с правильной визуализацией изображения gif, сгенерированного на лету для моего php-скрипта. Если я получаю прямой доступ к изображению gif, сгенерированному сценарием, браузер показывает его хорошо, но если я пытаюсь использовать текущий скрипт через тег img, браузер не сможет его показать.

Кто-нибудь предлагает друзей?

<?php
$src = imagecreatefromjpeg( 'img/ejemplo-2.jpg' );
list( $width, $height ) = getimagesize( 'img/ejemplo-2.jpg' );
$tmp = imagecreatetruecolor( '300', '300');
imagecopyresampled( $tmp, $src, 0, 0, 0, 0, '300', '300', $width, $height );
$imagen = imagegif( $tmp, "filename.gif" );
$data   = "data:image/gif;base64," . base64_encode( file_get_contents( "filename.gif" ) );
?>

<img src="<?php echo $data; ?>" width="300" height="300" />

1 Ответ

0 голосов
/ 06 сентября 2010

Хотя Opera 7.2+, Firefox, Safari, Netscape и Mozilla поддерживают URI данных, Internet Explorer 5-7 - нет.Однако, как сообщается, Internet Explorer 8, пройдя тест Acid2, делает URL-адреса данных реальной альтернативой для встраивания небольших декоративных изображений.Есть обходные пути, которые вы можете использовать для более старых версий Internet Explorer.

Если вы хотите обойти проблемы с кэшем браузера, добавьте случайное число в конец img src:

<img src="test.jpg?12345" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...