header("Content-type: image/jpeg");
$filename = 'book_rabbit_rule.jpg';
/* 画像ファイルを読み込みます */
$im = imagecreatefromjpeg($filename);画像は長さ/幅を切り取る必要があります */
$new_img_width = 120;
$new_img_height = 42;
/* まず新しい空の画像ファイルを作成します */
$newim = imagecreate($new_img_width, $new_img_height);出力画像の要件 x、y を開始する場所、元の画像を開始する場所 x、y、描画 (サイズ変更) する x、y の大きさ、x、y を取得する大きさ
imagecopyresampled($newim, $im, 0, 0 , 7, 174, 120, 42, $new_img_width, $new_img_height);
/* 画像を 500 x 500 に拡大します */
// imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500) , $new_img_width , $new_img_height);
/* 画像を印刷します */
imagejpeg($newim)
/* リソースを回復します */
imagedestroy($newim);
imagedestroy($im);
?>
ファイルには、おそらくすべての注釈が書かれています (ソースコードはこの記事の最後にあります)。主なパラメーターについてのみ説明します:
imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $ new_img_width, $new_img_height); // 元のサイズ 120 x 42
imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); // 画像を切り取って配置500 x 500 で
imagecopyresampled($newim, $im, 0, 0, 100, 30, 10, 10, $new_img_width, $new_img_height) // 画像が切り取られた後、10 x 10 に縮小されます
おそらく主にこの関数の操作です。これで、最初の元のサイズのパラメータを比較することに集中できます。以下は、imagecopyresampled のパラメータを 1 つずつ比較します。
$newim: imagecreate($new_img_width, $) new_img_height); 空のレイヤーを作成します
$ im: imagecreatefromjpeg($filename);
0 で元の画像を読み取ります: 出力画像を開始する x 点 (画像の出力点は指定できますが、指定されていない位置は作成したレイヤー (色または画像)
0: 出力画像が開始する y 点 (上記と同じ)
7: 元の画像が開始する x 点 (インターセプトを開始する x 点を指定します)
174: 元の画像を開始する側 開始 y (インターセプトを開始するポイントを指定します。インターセプト ブロックのサイズは次の 2 つのパラメーターによって決定されます)
120: 開始されるスクリーンショットの幅はどのくらいの大きさですか上で指定した位置から、幅 120 ピクセルを横切る (ズームインまたはズームアウトする場合は、ここで決定することでも決まります)
42: スクリーンショットの高さはどれくらいにする必要がありますか? 上記で指定した位置から開始して、高さのキャプチャを開始します。 42px (ズームインまたはズームアウトする場合は、これもここで決定されます)
$new_img_width: これは、上で記述した 42px の高さから始まる新しい画像です。 2 番目のパラメーター セット 0, 0 、描画を開始する幅 (このプログラムでは、スクリーンショットのサイズが現在指定されています)
$new_img_height: これは、上記のパラメーター 0、0 の 2 番目のセットからの新しい画像であり、描画を開始する高さ (このプログラムでは、スクリーンショットのサイズは現在指定されています)
http://www.bkjia.com/PHPjc/444961.html