例として、PHP での画像のトリミングには、主に gd ライブラリの imagecopyresampled メソッドが使用されます。
画像のトリミングの例:
最終的にトリミングされた写真:
点線のボックスはトリミングされる画像で、最終的には幅 100 の画像として保存されます。
コード:
-
-
$src_path = '1.jpg';
- //ソース画像のインスタンスを作成します
- $src = imagecreatefromstring(file_get_contents($src_path));
- //左上をトリミングします領域の隅 点の座標
- $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 をお勧めします。
|