0 && $left>0 && $top>0 && $url!='' && $width>0 ) { # 切り出すサイズが横または縦が1000ピクセルより大きかったら処理を中止。 if ( $height>1000 || $width>1000 ) die; # とりあえず作業用ディレクトリtmpにファイルを生成。 # 関数timeを使っているのは、生成した画像がきちんと表示されるようにするため。同じファイル名だとブラウザがキャッシュを読んでしまい、生成された画像がきちんと表示されない。 # 画像の切り出しなどの処理は、Imagickに任せる。 $file = "../tmp/".md5($_SERVER['REMOTE_ADDR'].time()).".png"; $o = class_exists('Imagick') ? new Imagick($url) : new Gmagick($url); $o->setFormat('png'); $o->setImagePage(0,0,0,0); $o->cropImage($width,$height,$left,$top); $o->writeImage($file); $o->clear(); $o->destroy(); die($file); } # 以上でjQueryの$.getがアクセスした場合の処理が終了。 # もし画像URLが指定された場合、それをもとに画像を取得。なにもなければサンプル用の画像を使用する。 if ($url=='') $url = 'http'.($is_https?'s':'').'://i-o.io/Photo/sample.png'; ?>  jQueryとPHPで画像をトリム・切り出し
元画像のURL :
画像の上で適当にドラッグして、できた四角形の上でダブルクリックしてみよう!
切り出す元の画像
※ 画像が正しく読めなかった場合はページの再読み込みを行ってください。
下に切り出したファイルが並びます。

動作に必要なこと・もの

更新履歴
2011/05/14
このページを作り始める。
2011/05/17
このページを公開する。
2013/09/03
うまく切り出せないときのための行を用意する。
2015/02/25
jQueryをGoogle Hosted Librariesから取得するように変更する。
2016/08/02
このページをhttpsでも表示する。
2019/11/19
Gmagickにも対応する。