sta*_*mas 5 php base64 imagick
我用js操纵图像,我想保存这些转换后的图像.我用ajax发布这个数据:
image : canvas.toDataURL('image/jpeg')
Run Code Online (Sandbox Code Playgroud)
这样,我得到了图像的base64代码,但我找不到用Imagick读取它的方法.
这是我的过程:
$img = new Imagick();
$decoded = base64_decode($_POST['image']);
$img->readimageblob($decoded);
Run Code Online (Sandbox Code Playgroud)
但这失败了:
致命错误:未捕获异常'ImagickException',消息'此图像格式没有解码委托',@ error/blob.c/BlobToImage/360'/ Library/WebServer/Files/test/save.php:7堆栈跟踪:
#0 /Library/WebServer/Documents/test/save.php(7):Imagick-> readimageblob('u?Z?f?{?? z ????? ...')
有什么想法吗?
readImageBlob \xe2\x80\x94 从二进制字符串读取图像:http://php.net/manual/en/imagick.readimageblob.php
\n\n$base64 = "iVBORw0KGgoAAAAN....";\n\n$imageBlob = base64_decode($base64);\n\n$imagick = new Imagick();\n$imagick->readImageBlob($imageBlob);\n\nheader("Content-Type: image/png");\necho $imagick;\nRun Code Online (Sandbox Code Playgroud)\n