六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

創(chuàng)建并處理圖象

[摘要]在安裝了一些第三方函數(shù)庫之后,結(jié)合圖形處理技能,你就可以迅速使用PHP創(chuàng)建和處理圖像了。事實(shí)上,你也不需要很多幾何學(xué)知識——因?yàn)槲以谥袑W(xué)的時候這門功課曾經(jīng)不及格而現(xiàn)在卻能使用PHP創(chuàng)建圖像! 在使用基本的圖像創(chuàng)建函數(shù)之前,需要安裝GD庫。要使用JPEG相關(guān)的圖像創(chuàng)建函數(shù)還需要安裝jpeg-6b。...
在安裝了一些第三方函數(shù)庫之后,結(jié)合圖形處理技能,你就可以迅速使用PHP創(chuàng)建和處理圖像了。事實(shí)上,你也不需要很多幾何學(xué)知識——因?yàn)槲以谥袑W(xué)的時候這門功課曾經(jīng)不及格而現(xiàn)在卻能使用PHP創(chuàng)建圖像!



在使用基本的圖像創(chuàng)建函數(shù)之前,需要安裝GD庫。要使用JPEG相關(guān)的圖像創(chuàng)建函數(shù)還需要安裝jpeg-6b。在圖像中使用Type 1字體的時候還必須安裝t1lib。

在這里,你還需要對你的系統(tǒng)設(shè)置進(jìn)行進(jìn)一步地調(diào)整。首先安裝t1lib并結(jié)束,然后是jpeg-6b。第三步安裝GD函數(shù)庫。確保以上三部分按順序安裝,原因是你需要編譯GD庫才能使用jpeg-6b庫。如果首先安裝jpeg-6b,編譯就會出錯,這會讓你不知所措夠上一段時間。

在三函數(shù)庫之后,重新配置PHP。這是在輕松安裝PHP的DSO版本時的典型方法。然后執(zhí)行make clean,命令,并在當(dāng)前配置提示中加入以下代碼:

--with-gd=[/path/to/gd]

--with-jpeg-dir=[/path/to/jpeg-6b]

--with-t1lib=[/path/to/t1lib]

最后執(zhí)行make、make install完成配置。重新啟動 Apache,并運(yùn)行phpinfo()函數(shù)以檢查新功能是否正常運(yùn)行,然后就可以開始了。

取決于安裝的GD庫版本,你可能具有創(chuàng)建GIF或者PNG圖像的能力。關(guān)鍵是如果你已經(jīng)安裝了gd-1.6或者早期版本,則可處理GIF文件,但不能處理PNG文件;如果安裝了gd-1.6或者以后版本,你可以處理PNG文件卻又不能處理GIF文件。

創(chuàng)建一個簡單的圖像需要幾個函數(shù)。我將按步驟演示如下。

輸出包含你所創(chuàng)建圖像MIME類型的文件頭,本例中為PNG。



使用ImageCreate()創(chuàng)建一變量存放空白圖像。該函數(shù)需要一個圖片像素尺寸。格式為ImageCreate(x_size, y_size),對250*250像素的圖片,如下:

$newImg = ImageCreate(250,250);

由于此時你的圖像還是空白,所以需要用某些色彩填滿它。但首先需要用ImageColorAllocate()函數(shù)按照顏色的RGB值為每種顏色確定名字。函數(shù)的格式為ImageColorAllocate([image], [red], [green], [blue])。如是天藍(lán)色,應(yīng)使用:

$skyblue = ImageColorAllocate($newImg,136,193,255);



接著,用ImageFill()函數(shù)為圖像填充以上顏色。實(shí)際上ImageFill()函數(shù)有多個版本,如ImageFillRectangle(), ImageFillPolygon()等等。為簡單起見,采用ImageFill()函數(shù)進(jìn)行顏色填充,格式如下:

ImageFill([image], [start x point], [start y point], [color])

ImageFill($newImg,0,0,$skyblue);

最后,創(chuàng)建最終圖像并破壞圖像流以釋放內(nèi)存并在結(jié)束后整理系統(tǒng):

ImagePNG($newImg);

ImageDestroy($newImg); ?>

你的代碼應(yīng)該看起來像這樣:



$newImg = ImageCreate(250,250);

$skyblue = ImageColorAllocate($newImg,136,193,255);

ImageFill($newImg,0,0,$skyblue);

ImagePNG($newImg);

ImageDestroy($newImg);

?>

如果調(diào)用腳本skyblue.php 并用自己的瀏覽器訪問它,就會看到一個250*250像素的藍(lán)色PNG圖像。

還可以用圖像創(chuàng)建函數(shù)處理圖像,如對大圖像創(chuàng)建的縮略圖等。

假設(shè)你打算為某圖片制作一個35*35像素大小的縮略圖。所要做的即創(chuàng)建一個新的35*35像素大小圖像;并產(chǎn)生一個包含原始圖像內(nèi)容的圖像流;然后改變原始圖像的大小,并將其放到新的空白圖像中去。

達(dá)到此目的的關(guān)鍵函數(shù)是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");

/* 設(shè)置變量保存新圖片長寬*/

$newWidth = 35;

$newHeight = 35;

/* 以給定長和寬創(chuàng)建空白新圖片 */

$newImg = ImageCreate($newWidth,$newHeight);

/* 從原始大圖獲取數(shù)據(jù) */

$origImg = ImageCreateFromPNG("test.png");

/* 復(fù)制更改尺寸后的圖片。使用函數(shù) ImageSX() 及 ImageSY 獲取原始圖片的x及x尺寸 */

ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));

/* 創(chuàng)建最終圖片并清空內(nèi)存 */

ImagePNG($newImg);

ImageDestroy($newImg); ?>

如果調(diào)用腳本resized.php并使用瀏覽器訪問此文件,可以看到一個35*35像素的縮略PNG圖片。




主站蜘蛛池模板: 外国一级黄色 | 青青青爽在线视频观看大全 | 全黄大全大色全免费大片 | 婷婷免费在线 | 日韩国产成人资源精品视频 | 亚洲国产精品一区二区久久hs | 色拍拍综合网 | 小泽玛利亚久久一区二区三区 | 中文字幕乱偷乱码亚洲 | 午夜福免费福利在线观看 | 亚洲狠狠婷婷综合久久久久图片 | 日本叼嗨| 欧美亚洲高清 | 最新精品亚洲成a人在线观看 | 永久毛片 | 在线国产日韩 | 最新网址在线观看 | 深夜福利欧美 | 婷婷激情综合 | 四虎精品永久在线网址 | 四虎地址 | 亚洲精品网站日本xxxxxxx | 日韩大片在线播放 | 欧美综合在线视频 | 欧美系列在线 | 欧美性理论片在线观看片免费 | 偷自视频视频区免费 | 午夜激情网站 | 一级a毛片免费观看久久精品 | 日韩欧美一区二区在线观看 | 青青国产成人久久91网 | 中文字幕在线网址 | 日韩欧美h| 日本一道dvd在线播放 | 五月天丁香婷婷综合久久 | 天天性综合 | 日本亚洲欧洲高清有码在线播放 | 天天狠狠弄夜夜狠狠躁·太爽了 | 日产精品一卡2卡三卡4乱码久久 | 微草影院| 色综合久久精品中文字幕 |