例えば、Webのショッピングサイトで、ページにずらりと表示されている小さな写真から、気になった品物の写真を選択すると、その品物の拡大写真が表示されます。
<?php
$size = getimagesize( "dl_button.png" );
$image_in = imagecreatefrompng( "dl_button.png" );
$image_out = imagecreate( $size[ 0 ] * 1.2, $size[ 1 ] * 1.2 );
imagecopyresized( $image_out, $image_in, 0, 0, 0, 0, $size[ 0 ] * 1.2, $size[ 1 ] * 1.2, $size[ 0 ], $size[ 1 ] );
imagepng( $image_out, "large.png" );
imagedestroy( $image_in );
imagedestroy( $image_out );
?>
<img src = "dl_button.jpg" border = "0">
<img src = "large.png" border = "0">
上記のスクリプトでは、getimagesize()関数で、指定した画像ファイルの大きさに関する情報を配列として取得し、imagecreatefrompng()関数で、画像のコピーを作成します。
そして、imagecreate()関数で、縦横2倍に拡大した画像を生成して、指定した画像の矩形部分(矩形とは、正方形と長方形の総称)を別の画像へコピーするimagecopyresized()関数で、実際に拡大した画像をコピーします。
なお、<img src = "">とは、HTMLの<img>タグにWebページ上で展開するファイルのURI(絶対パス、相対パス)を指定したもので、このsrc属性は、ブラウザに画像を表示させるためには必須の属性です。

imagecreate( int width, int height );
imagecreatefrompng( filename );
imagecopyresized( dst_image, src_image, int dst_x, int dst_y, int src_x,
int src_y, int dst_w, int dst_h, int src_w, int src_h );
| dst_image | コピー先の画像リンクリソース。 |
|---|---|
| src_image | コピー元の画像リンクリソース。 |
| dst_x | コピー先のx座標。 |
| dst_y | コピー先のy座標。 |
| src_x | コピー元のx座標。 |
| src_y | コピー元のy座標。 |
| dst_w | コピー先の幅。 |
| dst_h | コピー先の高さ。 |
| src_w | コピー元の幅。 |
| src_h | コピー元の高さ。 |
<?php
$size = getimagesize( "dl_button.png" );
$image_in = imagecreatefrompng( "dl_button.png" );
$image_out = imagecreate( $size[ 0 ] / 2, $size[ 1 ] / 2 );
imagecopyresized( $image_out, $image_in, 0, 0, 0, 0, $size[ 0 ] / 2, $size[ 1 ] / 2, $size[ 0 ], $size[ 1 ] );
imagepng( $image_out, "small.png" );
imagedestroy( $image_in );
imagedestroy( $image_out );
?>
<img src = "dl_button.png" border = "0">
<img src = "small.png" border = "0">
上記のスクリプトでは、縦横を半分の大きさにした縮小画像を、imagecreate()関数で生成して、そこにimagecopyresized()関数で実際に縮小した画像をコピーしています。
