PHP 5.4.31 Released

imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2GD2 イメージをブラウザまたはファイルに出力する

説明

bool imagegd2 ( resource $image [, string $filename [, int $chunk_size [, int $type = IMG_GD2_RAW ]]] )

GD2 イメージを、指定した filename に出力します。

パラメータ

image

imagecreatetruecolor() のような画像作成関数が返す画像リソース。

filename

ファイルの保存先のパス。省略したり NULL を設定したりした場合は、画像ストリームを直接出力します。

chunk_size

チャンクの大きさ。

type

IMG_GD2_RAW あるいは IMG_GD2_COMPRESSED のいずれかです。デフォルトは IMG_GD2_RAW です。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 GD2 画像の出力

<?php
// 空の画像を作成し、テキストを追加します
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);

// 画像を出力します
imagegd2($im);

// メモリを開放します
imagedestroy($im);
?>

例2 GD2 画像の保存

<?php
// 空の画像を作成し、テキストを追加します
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);

// GD2 画像を保存します
// GD2 画像のファイル形式は .gd2 です。 http://www.libgd.org/GdFileFormats を参照ください
imagegd2($im'simple.gd2');

// メモリを開放します
imagedestroy($im);
?>

注意

注意: この関数は、GD 2.0.1 以降を必要とします (2.0.28 以降を推奨します)。

注意:

通常 GD2 フォーマットはイメージの一部を高速にロードするために 使用されます。GD2 フォーマットは GD2 互換アプリケーションでのみ使用可能であることに注意してください。

変更履歴

バージョン 説明
4.3.2 chunk_size および type が追加されました。

参考

  • imagegd() - GD イメージをブラウザまたはファイルに出力する

add a note add a note

User Contributed Notes 2 notes

up
0
Nick
3 years ago
You can use this function in combination with imagecreatefromstring() to clone the gd resource with minimum fuss (no writing to tmp file):

<?php
function cloneGd($gd)
{
   
ob_start();
   
imagegd2($gd);
    return
imagecreatefromstring(ob_get_clean());
}
?>
up
0
mark at teckis dot com
11 years ago
yes, the gd2 file format does improve the speed of image creations as the data-setup is designed to be native for the GD function - ie, the image doesn't have to be converted to a usable format prior to processing.

you may also note that the newer gd2 format creates much smaller size files than the older imagegd function, certainly for images involving chunks of single colours anyway. you'll probably find this function most useful for saving overlay images or background images used in larger image creation scripts.

to read a ping or jpeg image (.png / .jpg) and save a .gd2 version to server...

$img = $_GET['img'];
if(file_exists($img))
    {
    $dim = getimagesize($img);
    $cr = ($dim[2] < 4) ? ($dim[2] < 3) ? ($dim[2] < 2) ? NULL : imagecreatefromjpeg($img) : imagecreatefrompng($img) : Null;
    if($cr !== NULL)
          {
         imagegd2($cr,substr($img,0,strrpos($img,'.')).'.gd2');
          }
    }

should save a copy with the same filename and directory using extension .gd2 - which can then be nicely and swiftly read using either imagecreatefromgd2 or imagecreatefromgd2part
To Top