画像イメージ関数
- getimagesize〔画像のサイズを取得する〕
- imagecopy〔画像の一部をコピーする〕
- imagecreatefromgif〔ファイルまたはURLから新規にGIF画像を作成する〕
- imagecreatefromjpeg〔ファイルまたはURLから新規にJPEG画像を作成する〕
- imagecreatefrompng〔ファイルまたはURLから新規にPNG画像を作成する〕
- imagetypes〔現在使用しているPHPがサポートする画像形式を返す〕
getimagesize
画像のサイズを取得する
unknown
ファイル名で指定した画像の大きさを取得し、画像ファイルの型とimg要素で使用される画像の高さ・幅を表す文字列を返します。
ファイル名が存在しない(または画像でない)場合にFALSEを返し、E_WARNINGレベルのエラーが発生します。
画像ファイル名に半角スペースが含まれる場合はエンコードする必要があります。
photo desu.gif
→photo%20desu.gif
キー | 値 |
---|---|
0 | 画像の幅(ピクセル) |
1 | 画像の高さ(ピクセル) |
2 | 画像の種類 1 = GIF, 2 = JPG, 3 =PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM |
3 | width="xxx" height="xxx" (IMGタグで直接利用できる文字列) |
bits | RGB画像の場合に3、CMYK画像の場合に4 |
channels | カラーの数 |
mime | 画像のMIMEタイプ |
<?
list($width, $height, $type, $attr) = getimagesize("a.gif");
echo "<img src=\"a.gif\" ".$attr.">"; //<img src="a.gif" width="10" height="10">
print_r(getimagesize("gazo.gif"));
/*
Array
(
[0] => 10
[1] => 10
[2] => 1
[3] => width="10" height="10"
[bits] => 1
[channels] => 3
[mime] => image/gif
)
*/
?>
<?
/* [関数名] CreateImage
* [機 能] IMGタグ生成
* [説 明] 指定した画像ファイルの大きさを取得し、IMGタグを生成する
*
* @param $pass 画像ファイルのパス
* @param $alt 代替テキスト
* @param $align 画像の表示位置 left,center,absmiddle,middle
* (省略可、デフォルトは'')
*
* @return $s 生成されたIMGタグ
*/
function CreateImage($fpass, $alt, $align=""){
$s="";
if(!file_exists($fpass)){
return false;
}else{
list($ww,$hh,$type,$attr )= @getimagesize($fpass);
$s.="<img src=\"".$fpass."\" border=\"0\" ".$attr." alt=\"".$alt."\"";
$s.=($align!='') ? " align='" . $align ."'" : "";
$s.=">";
return $s;
}
}
echo CreateImage("/content/img/bg.gif","画像です");
/* 出力
<img src="/content/img/bg.gif" border="0" width="80" height="110" alt='画像です'>
*/
?>
imagecopy
画像の一部をコピーする
unknown
コピー元画像リンクリソースの一部であるコピー元のX座標、コピー元のY座標を基準として、 コピー元の高さの領域をコピー先画像リンクリソースにコピーします。 指定領域は、コピー先のX座標、コピー先のY座標にコピーされます。 成功した場合にTRUE、失敗した場合にFALSEを返します。
<?
# PHP.net のロゴの切り取り
// 画像のインスタンスを作成します
$src = imagecreatefromgif('/content/img/php/phplogo.gif');
$dest = imagecreatetruecolor(80, 40);
// コピーします
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);
// 出力してメモリから解放します
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
imagecreatefromgif
ファイルまたはURLから新規にGIF画像を作成する
unknown
指定したファイル名から新規にGIF画像を作成し、作成した画像のリソースIDを返します。 エラーが発生した場合はFALSEを返します。
第1引数ファイル名にはGIF画像へのパスを指定します。
<?
function LoadGif($imgname){
/* オープンします */
$im=@imagecreatefromgif($imgname);
/* 失敗したかどうかを調べます */
if(!$im){
/* 空の画像を作成します */
$im=imagecreatetruecolor (150, 30);
$bgc=imagecolorallocate ($im, 255, 255, 255);
$tc=imagecolorallocate ($im, 0, 0, 0);
imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
/* エラーメッセージを出力します */
imagestring ($im, 1, 5, 5, 'Error loading '.$imgname, $tc);
}
return $im;
}
header('Content-Type: image/gif');
#$img=LoadGif('bogus.image');
$img=LoadGif('/content/img/php/phplogo.gif');
imagegif($img);
imagedestroy($img);
?>
imagecreatefromjpeg
ファイルまたはURLから新規にJPEG画像を作成する
unknown
指定したファイル名から新規にJPEG画像を作成し、作成した画像のリソースIDを返します。 エラーが発生した場合はFALSEを返します。
第1引数ファイル名にはJPEG画像へのパスを指定します。
<?
function LoadJpeg($imgname){
/* オープンします */
$im = @imagecreatefromjpeg($imgname);
/* 失敗したかどうかを調べます */
if(!$im){
/* 空の画像を作成します */
$im = imagecreatetruecolor (150, 30);
$bgc = imagecolorallocate ($im, 255, 255, 255);
$tc = imagecolorallocate ($im, 0, 0, 0);
imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
/* エラーメッセージを出力します */
imagestring ($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
}
return $im;
}
header('Content-Type: image/jpeg');
#$img = LoadJpeg('bogus.image');
$img = LoadJpeg('/content/img/pattern.jpg');
imagejpeg($img);
imagedestroy($img);
?>
imagecreatefrompng
ファイルまたはURLから新規にPNG画像を作成する
unknown
指定したファイル名から新規にPNG画像を作成し、作成した画像のリソースIDを返します。 エラーが発生した場合はFALSEを返します。
第1引数ファイル名にはPNG画像へのパスを指定します。
<?
function LoadPNG($imgname){
/* オープンします */
$im = @imagecreatefrompng($imgname);
/* 失敗したかどうかを調べます */
if(!$im){
/* 空の画像を作成します */
$im = imagecreatetruecolor (150, 30);
$bgc = imagecolorallocate ($im, 255, 255, 255);
$tc = imagecolorallocate ($im, 0, 0, 0);
imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);
/* エラーメッセージを出力します */
imagestring ($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
}
return $im;
}
header('Content-Type: image/png');
#$img = LoadPNG('bogus.image');
$img = LoadPNG('/content/img/pic1.png');
imagepng($img);
imagedestroy($img);
?>
imagetypes
現在使用しているPHPがサポートする画像形式を返す
unknown
現在使用している PHP がサポートする画像形式を返します。 戻り値は、画像形式に対応するビットフィールドで、PHPに組み込まれているGDがサポートする画像形式を返します。 返されるビット数は、IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM です。
<?
# サポートしている画像形式を確認する
if(imagetypes()){
if(IMG_GIF) echo "GIFをサポートしています";
if(IMG_JPG) echo "JPGをサポートしています";
if(IMG_PNG) echo "PNGをサポートしています";
if(IMG_WBMP) echo "WBMPをサポートしています";
if(IMG_XPM) echo "XPMをサポートしています";
}
?>