作物の例:
最終的にトリミングされた写真:
点線のボックスはトリミングされる画像で、最終的には幅100の画像として保存されます。コードは次のとおりです:
//トリミング領域の左上隅点の座標
$x = 100;
$y = 12;
//トリミング領域の幅と高さ
$width = 200;
$height = 200;
/ /最終保存 結果の画像の幅と高さはソースと同じ比率である必要があります。そうでない場合は変形します
$final_width = 100;
$final_height =round($final_width * $height / $width);
//トリミングされた領域を新しい画像にコピーし、ソースとターゲットの幅と高さに応じて拡大縮小または引き上げます
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src) 、0、0、$x、$y、$final_width、$final_height、$width、$height);
//出力画像
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);
実際には、座標が (0,0) で、トリミング領域の幅と高さがソース画像の幅と高さと一致する場合、サムネイルを生成する機能です。
まとめ
ここでは、サーバー側の関数である、PHP による画像のトリミングの例のみをリストします。クライアントが必要とする場合は、互換性が非常に高い jquery プラグイン imageAreaSelect をお勧めします。