データURL化(base64)した画像ファイルをimagickで扱う方法
HTML5に対応したブラウザが多くなってきたので
readAsDataURL+AjaxでPHPに画像ファイルを受け渡す処理なんかが
ぽつぽつ増えてきたのではないでしょうか
そうやって受け渡したデータURLを
はじめ、以下のように処理したのですが
エラーで読み込めず困っていました
$tmp = DATAURL; $tmp = preg_replace('/^.*?base64/','',$tmp); $img = base64_decode($tmp); $im = new Imagick($img); $im->writeImages('test.jpg', TRUE);
それで、いろいろ調べたら解決したので
同じように困っている方、御参考下さい。
変数に格納されているbase64デコードした画像データは
イメージマジックにreadimageblob()で読み込みます。
$tmp = DATAURL; $tmp = preg_replace('/^.*?base64/','',$tmp); $img = base64_decode($tmp); $im = new Imagick(); $im->readimageblob($img) $im->writeImages('test.jpg', TRUE);