ÔÚ°²×°ÁËһЩµÚÈý·½º¯Êý¿âÖ®ºó£¬½áºÏͼÐδ¦Àí¼¼ÄÜ£¬Äã¾Í¿ÉÒÔѸËÙʹÓÃPHP´´½¨ºÍ´¦ÀíͼÏñÁË¡£ÊÂʵÉÏ£¬ÄãÒ²²»ÐèÒªºÜ¶à¼¸ºÎѧ֪ʶ¡ª¡ªÒòΪÎÒÔÚÖÐѧµÄʱºòÕâÃŹ¦¿ÎÔø¾²»¼°¸ñ¶øÏÖÔÚÈ´ÄÜʹÓÃPHP´´½¨Í¼Ïñ£¡
ÔÚʹÓûù±¾µÄͼÏñ´´½¨º¯Êý֮ǰ£¬ÐèÒª°²×°GD¿â¡£ÒªÊ¹ÓÃJPEGÏà¹ØµÄͼÏñ´´½¨º¯Êý»¹ÐèÒª°²×°jpeg-6b¡£ÔÚͼÏñÖÐʹÓÃType 1×ÖÌåµÄʱºò»¹±ØÐë°²×°t1lib¡£
ÔÚÕâÀÄ㻹ÐèÒª¶ÔÄãµÄϵͳÉèÖýøÐнøÒ»²½µØµ÷Õû¡£Ê×ÏȰ²×°t1lib²¢½áÊø£¬È»ºóÊÇjpeg-6b¡£µÚÈý²½°²×°GDº¯Êý¿â¡£È·±£ÒÔÉÏÈý²¿·Ö°´Ë³Ðò°²×°£¬ÔÒòÊÇÄãÐèÒª±àÒëGD¿â²ÅÄÜʹÓÃjpeg-6b¿â¡£Èç¹ûÊ×ÏȰ²×°jpeg-6b£¬±àÒë¾Í»á³ö´í£¬Õâ»áÈÃÄã²»ÖªËù´ë¹»ÉÏÒ»¶Îʱ¼ä¡£
ÔÚÈýº¯Êý¿âÖ®ºó£¬ÖØÐÂÅäÖÃPHP¡£ÕâÊÇÔÚÇáËɰ²×°PHPµÄDSO°æ±¾Ê±µÄµäÐÍ·½·¨¡£È»ºóÖ´ÐÐmake clean,ÃüÁ²¢ÔÚµ±Ç°ÅäÖÃÌáʾÖмÓÈëÒÔÏ´úÂ룺
--with-gd=[/path/to/gd]
--with-jpeg-dir=[/path/to/jpeg-6b]
--with-t1lib=[/path/to/t1lib]
×îºóÖ´ÐÐmake¡¢make installÍê³ÉÅäÖá£ÖØÐÂÆô¶¯ Apache£¬²¢ÔËÐÐphpinfo()º¯ÊýÒÔ¼ì²éй¦ÄÜÊÇ·ñÕý³£ÔËÐУ¬È»ºó¾Í¿ÉÒÔ¿ªÊ¼ÁË¡£
È¡¾öÓÚ°²×°µÄGD¿â°æ±¾£¬Äã¿ÉÄܾßÓд´½¨GIF»òÕßPNGͼÏñµÄÄÜÁ¦¡£¹Ø¼üÊÇÈç¹ûÄãÒѾ°²×°ÁËgd-1.6»òÕßÔçÆÚ°æ±¾£¬Ôò¿É´¦ÀíGIFÎļþ£¬µ«²»ÄÜ´¦ÀíPNGÎļþ£»Èç¹û°²×°ÁËgd-1.6»òÕßÒÔºó°æ±¾£¬Äã¿ÉÒÔ´¦ÀíPNGÎļþÈ´ÓÖ²»ÄÜ´¦ÀíGIFÎļþ¡£
´´½¨Ò»¸ö¼òµ¥µÄͼÏñÐèÒª¼¸¸öº¯Êý¡£ÎÒ½«°´²½ÖèÑÝʾÈçÏ¡£
Êä³ö°üº¬ÄãËù´´½¨Í¼ÏñMIMEÀàÐ͵ÄÎļþÍ·£¬±¾ÀýÖÐΪPNG¡£
<? header ("Content-type: image/png");
ʹÓÃImageCreate()´´½¨Ò»±äÁ¿´æ·Å¿Õ°×ͼÏñ¡£¸Ãº¯ÊýÐèÒªÒ»¸öͼƬÏñËØ³ß´ç¡£¸ñʽΪImageCreate(x_size, y_size)£¬¶Ô250*250ÏñËØµÄͼƬ£¬ÈçÏ£º
$newImg = ImageCreate(250,250);
ÓÉÓÚ´ËʱÄãµÄͼÏñ»¹Êǿհף¬ËùÒÔÐèÒªÓÃijЩɫ²ÊÌîÂúËü¡£µ«Ê×ÏÈÐèÒªÓÃImageColorAllocate()º¯Êý°´ÕÕÑÕÉ«µÄRGBֵΪÿÖÖÑÕɫȷ¶¨Ãû×Ö¡£º¯ÊýµÄ¸ñʽΪImageColorAllocate([image], [red], [green], [blue])¡£ÈçÊÇÌìÀ¶É«£¬Ó¦Ê¹Óãº
$skyblue = ImageColorAllocate($newImg,136,193,255);
½Ó×Å£¬ÓÃImageFill()º¯ÊýΪͼÏñÌî³äÒÔÉÏÑÕÉ«¡£Êµ¼ÊÉÏImageFill()º¯ÊýÓжà¸ö°æ±¾£¬ÈçImageFillRectangle(), ImageFillPolygon()µÈµÈ¡£Îª¼òµ¥Æð¼û£¬²ÉÓÃImageFill()º¯Êý½øÐÐÑÕÉ«Ìî³ä£¬¸ñʽÈçÏ£º
ImageFill([image], [start x point], [start y point], [color])
ImageFill($newImg,0,0,$skyblue);
×îºó£¬´´½¨×îÖÕͼÏñ²¢ÆÆ»µÍ¼ÏñÁ÷ÒÔÊÍ·ÅÄÚ´æ²¢ÔÚ½áÊøºóÕûÀíϵͳ£º
ImagePNG($newImg);
ImageDestroy($newImg); ?>
ÄãµÄ´úÂëÓ¦¸Ã¿´ÆðÀ´ÏñÕâÑù£º
<? header ("Content-type: image/png");
$newImg = ImageCreate(250,250);
$skyblue = ImageColorAllocate($newImg,136,193,255);
ImageFill($newImg,0,0,$skyblue);
ImagePNG($newImg);
ImageDestroy($newImg);
?>
Èç¹ûµ÷Óýű¾skyblue.php ²¢ÓÃ×Ô¼ºµÄä¯ÀÀÆ÷·ÃÎÊËü£¬¾Í»á¿´µ½Ò»¸ö250*250ÏñËØµÄÀ¶É«PNGͼÏñ¡£
»¹¿ÉÒÔÓÃͼÏñ´´½¨º¯Êý´¦ÀíͼÏñ£¬Èç¶Ô´óͼÏñ´´½¨µÄËõÂÔͼµÈ¡£
¼ÙÉèÄã´òËãÎªÄ³Í¼Æ¬ÖÆ×÷Ò»¸ö35*35ÏñËØ´óСµÄËõÂÔͼ¡£ËùÒª×öµÄ¼´´´½¨Ò»¸öеÄ35*35ÏñËØ´óСͼÏñ£»²¢²úÉúÒ»¸ö°üº¬ÔʼͼÏñÄÚÈݵÄͼÏñÁ÷£»È»ºó¸Ä±äÔʼͼÏñµÄ´óС£¬²¢½«Æä·Åµ½ÐµĿհ×ͼÏñÖÐÈ¥¡£
´ïµ½´ËÄ¿µÄµÄ¹Ø¼üº¯ÊýÊÇImageCopyResized(),£¬¸ñʽÈçÏÂËùʾ£ºImageCopyResized([new image handle]£¬[original image handle]£¬[new image X]£¬[new Image Y]£¬[original image X]£¬[original image Y]£¬ [new image X]£¬ [new image Y]£¬[original image X]£¬[original image Y])£»
×¢ÊÍÔÚ´úÂëÏÂÃæ£º
<? /* ·¢ËÍÎļþÍ·ÒÔʹä¯ÀÀÆ÷ÖªµÀÎļþÀàÐÍ*/
header("Content-type: image/png");
/* ÉèÖñäÁ¿±£´æÐÂͼƬ³¤¿í*/
$newWidth = 35;
$newHeight = 35;
/* ÒÔ¸ø¶¨³¤ºÍ¿í´´½¨¿Õ°×ÐÂͼƬ */
$newImg = ImageCreate($newWidth,$newHeight);
/* ´ÓÔʼ´óͼ»ñÈ¡Êý¾Ý */
$origImg = ImageCreateFromPNG("test.png");
/* ¸´ÖƸü¸Ä³ß´çºóµÄͼƬ¡£Ê¹Óú¯Êý ImageSX() ¼° ImageSY »ñÈ¡ÔʼͼƬµÄx¼°x³ß´ç */
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));
/* ´´½¨×îÖÕͼƬ²¢Çå¿ÕÄÚ´æ */
ImagePNG($newImg);
ImageDestroy($newImg); ?>
Èç¹ûµ÷Óýű¾resized.php²¢Ê¹ÓÃä¯ÀÀÆ÷·ÃÎ