< コード例 >
<?php
/**
* GD 画像 切り抜き
* argv : 1:元ファイル名, 2:生成ファイル名, 3: 左上X座標, 4: 左上Y座標, 5:幅, 6:高さ
*/
// 引数取得 //
$srcfnm = $argv[1];
$newfnm = $argv[2];
$sx = $argv[3];
$sy = $argv[4];
$w = $argv[5];
$h = $argv[6];
// 元画像サイズ取得 //
list($src_width, $src_height, $type) = getimagesize($srcfnm);
// 対象イメージ格納 //
switch ($type) {
case IMAGETYPE_JPEG: // 2
$srcimg = imagecreatefromjpeg($srcfnm);
break;
case IMAGETYPE_PNG: // 3
$srcimg = imagecreatefrompng($srcfnm);
break;
case IMAGETYPE_GIF: // 1
$srcimg = imagecreatefromgif($srcfnm);
break;
}
// 矩形指定
$rect = array();
$rect['x'] = $sx;
$rect['y'] = $sy;
$rect['width'] = $w;
$rect['height'] = $h;
// 画像を切り抜き
//$im_in = $func_create($srcfnm);
$im_out = imagecrop($srcimg, $rect);
// 結果ファイルに出力 //
$filepath = pathinfo($newfnm);
$ext = mb_strtolower($filepath['extension']);
$res = 1;
try {
if ($ext === "jpg" || $ext === "jpeg") {
imagejpeg($im_out, $newfnm, 100);
}
else if ($ext === "png") {
imagepng($im_out, $newfnm, 9);
}
else if ($ext === "gif") {
imagegif($im_out, $newfnm, 100);
}
}
catch (Exception $ex) {
$res = 0;
}
// 解放 //
imagedestroy($srcimg);
imagedestroy($im_out);
// 連想配列に格納 //
$responce = [];
$responce["Result"] = $res;
// JSONに変換して結果出力 //
echo json_encode($responce);
?>
|