ImageCreate()/ImageCreateTrueColor()
* イメージを新規に作成するhttp://www.scollabo.com/banban/php/ref/ref_imagecreate.html
http://search.net-newbie.com/php/function.imagecreatetruecolor.html
imagedestroy()
* PHPで表現された画像を、メモリ上から解放するhttp://www.scollabo.com/banban/php/ref/ref_imagedestroy.html
ImageGIF()/ImagePNG()/ImageJPEG()
* 画像をブラウザあるいはファイルに出力するhttp://php.net/manual/ja/function.imagegif.php
画像 image から GIF ファイル filename を作成 bool imagegif ( resource $image [, string $filename ] )
ImageCopyResampled()
* イメージの一部をコピー、伸縮するhttp://php.net/manual/ja/function.imagecopyresampled.php
ImageCopyResampled( 【コピー先の画像リンクリソース】, 【コピー元の画像リンクリソース】, 【コピー先の x 座標】, 【y 座標】, 【コピー元の x 座標】, 【y 座標】, 【コピー先の 幅】, 【高さ】, 【コピー元の 幅】, 【高さ】 );
画像の扱い
画像の幅と高さの取得
例
$image = "http://i.yimg.jp/images/socialproducts/common/nophoto/nophoto_100x100.gif"; $size = GetImageSize($image); // 幅の取得 $width = $size[0]; // 高さの取得 $heigth = $size[1];
画像の種類の判定
例
$sourceImage = "./testData.gif";
$size = GetImageSize($sourceImage);
// 幅の取得
$width = $size[0];
// 高さの取得
$heigth = $size[1];
switch ($size[2])
{
case IMAGETYPE_GIF:
$newImage = ImageCreate(15, 15);
$image = imagecreatefromgif($image);
break;
case IMAGETYPE_PNG:
$newImage = ImageCreateTrueColor(15, 15);
$image = imagecreatefrompng($image);
break;
case IMAGETYPE_JPEG:
default:
$newImage = ImageCreateTrueColor(15, 15);
$image = imagecreatefromjpeg($image);
}
ImageCopyResampled($newImage, $image, 0, 0, 0, 0, 15, 15, $width, $height);
// output
switch ($size[2])
{
case IMAGETYPE_GIF:
ImageGIF($newImage, $sourceImage);
break;
case IMAGETYPE_PNG:
ImagePNG($newImage, $sourceImage);
break;
case IMAGETYPE_JPEG:
default:
ImageJPEG($newImage, $sourceImage);
}
imagedestroy($image);
imagedestroy($newImage);