For who want to show "animated" gif. This getImageBlob() will showing only one frame of image.
Use getImagesBlob() instead.
Example:
<?php
$Imagick = new \Imagick($real_source_image_path_animated_gif);
header("Content-Type: image/gif");
echo $Imagick->getImagesBlob();
?>
PHP.mk документација
Imagick::getImageBlob
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
imagick.getimageblob.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
imagick.getimageblob.php
Imagick::getImageBlob
Референца за `imagick.getimageblob.php` со подобрена типографија и навигација.
Imagick::getImageBlob
(PECL imagick 2, PECL imagick 3)
Imagick::getImageBlob — Ја враќа секвенцата на слики како blob
= NULL
Имплементира формати на слики директно во меморија. Ја враќа секвенцата на слики како стринг. Форматот на сликата го одредува форматот на вратениот blob (GIF, JPEG, PNG, итн.). За да вратите различен формат на слика, користете Imagick::setImageFormat().
Параметри
Оваа функција нема параметри.
Вратени вредности
Враќа стринг што го содржи имиџот.
Errors/Exceptions
Фрла ImagickException при грешка.
Белешки од корисници 4 белешки
Ве В ¶
пред 10 години
анонимен на интернет точка домен ¶
пред 2 години
Function returns NULL without any error if ImageMagick policy.xml blocks handling the file format, i.e. PDF.
For PDF output edit /etc/ImageMagick-6/policy.xml and remove the line which disables rights for PDF.
If you use other functions, e.g. readImage() for PDF, ImageMagick nags about it and outputs the error message but this function fails silently.
Тревор ¶
пред 14 години
It seems that this method can return a zero-length string if faced with large-ish data. No exceptions are thrown.
<?php
$image = new Imagick();
if (!$image->newImage(1000,1,'white')) throw new Exception();
if (!$image->scaleImage(0,200)) throw new Exception();
print "Image size: {$image->getImageWidth()},{$image->getImageHeight()}\n";
if (!$image->setImageFormat("jpeg")) throw new Exception();
$a = $image->getImageBlob();
print "Rendered to ".strlen($a)." bytes\n";
?>
Restrict your output image size, or ensure that the blob you get back isn't empty. (Note that IM seems to be doing the work, it delays for some time. But there's no indication of any error anywhere.)
џим на џимохалоран точка ком ¶
пред 4 години
Further to Trevor's note above about getImageBlob potentially returning an empty string for large images.
This seems image format dependent. I have a large (12046x8363) image which is returned ok. But if I call setImageFormat('pdf') and then call getImageBlob() again. Example:
<?php
// Image Manipulation here.
$pngData = $imagick->getImageBlob(); // Returns a large PNG.
$imagick->setImageFormat('pdf');
$pdfData = $imagick->getImageBlob(); // Returns empty string immediately
?>