GD and Image 函数
在线手册:中文 英文
PHP手册

imagegd2

(PHP 4 >= 4.0.7, PHP 5)

imagegd2将 GD2 图像输出到浏览器或文件

说明

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

imagegd2() 将一个 GD 图像输出到 filenameimage 参数是由 imagecreatetruecolor() 函数返回的。

filename 参数为可选项,如果为空,则原始图像流会被直接输出。

可选的 type 参数可以是 IMG_GD2_RAWIMG_GD2_COMPRESSED。默认为 IMG_GD2_RAW

Note:

可选的 chunk_sizetype 参数自 PHP 4.3.2 起可用。

Note:

GD2 格式一般是用来加载图像中的一部分时更快。注意 GD2 格式只能用于兼容于 GD2 的应用程序。

Note: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。

参见 imagegd()

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

filename

文件保存的路径,如果未设置或为NULL,将会直接输出原始图象流。

chunk_size

Chunk size.

type

Either IMG_GD2_RAW or IMG_GD2_COMPRESSED. Default is IMG_GD2_RAW.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.

范例

Example #1 Outputting a GD2 image

<?php
// Create a blank image and add some text
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);

// Output the image
imagegd2($im);

// Free up memory
imagedestroy($im);
?>

Example #2 Saving a GD2 image

<?php
// Create a blank image and add some text
$im imagecreatetruecolor(12020);
$text_color imagecolorallocate($im2331491);
imagestring($im155,  "A Simple Text String"$text_color);

// Save the gd2 image
// The file format for GD2 images is .gd2, see http://www.libgd.org/GdFileFormats
imagegd2($im'simple.gd2');

// Free up memory
imagedestroy($im);
?>

注释

Note: 此函数需要 GD 2.0.1 或更高版本(推荐 2.0.28 及更高版本)。

Note:

The GD2 format is commonly used to allow fast loading of parts of images. Note that the GD2 format is only usable in GD2-compatible applications.

更新日志

版本 说明
4.3.2 chunk_size and type were added.

参见


GD and Image 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 将 GD2 图像输出到浏览器或文件

用户评论:

Nick (13-Jun-2011 08:49)

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());
}
?>

mark at teckis dot com (16-Apr-2003 02:33)

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