php - 此图像格式没有解码委托(delegate) - Imagick - php

标签 php image imagick resize-image

$path=getcwd();
$rawstring = $_POST['img_data'];    
$malestr = str_replace("data:image/jpeg;base64,", "", $rawstring);
$img = new Imagick();
$img->readImageBlob($malestr);
$img->writeImage($path."/media/import/new.jpg");  

这是我的 Imagick 函数,我正在尝试使用 Base64 编码数据编写图像。它的 throw 错误 .

“此图像格式没有解码委托(delegate)”

最佳答案

根据手册,Imagick::readImageBlob 需要一个二进制字符串,而您为其提供一个 base64 编码的字符串。首先使用函数 base64_decode 解码字符串,并将结果提供给 readImageBlob

// your code above
$malestr = str_replace("data:image/jpeg;base64,", "", $rawstring);

$malestr = base64_decode($malestr);
if (!$malestr) die('Unable to decode the string');

$img = new Imagick();
$img->readImageBlob($malestr);

关于php - 此图像格式没有解码委托(delegate) - Imagick - php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26646318/

相关文章:

php - 基于php header 的javascript切换获取值?

php - 更改 mysql -joomla 中的文件名并存储在数据库中具有唯一的名称?

php - 从 mysql 读取图像 blob 并显示它

imagemagick 将具有透明层的 AI 文件转换为 PNG

php - 用 PHP 将 EXIF 写入 JPG

php - 根据不同国家/地区的用户计算机时间在网站上显示日期/时间

php - 为什么我在 Opera Mobile 中打开网页时会放大?

php - 创建动态 URL 以打开特定记录进行编辑 (PHP/POST)

wordpress - 我想在分享我的网站链接时添加图片

php - 如何知道 imagick 是否抛出错误 - PHP