我覺得在學習的過程中,大家要知道“玩”,製造點成就感,那樣的話 學習的效果和熱情就會很高漲,
就會更喜歡自己學習的東西!
舉例說明:
今天學習PHP的映像函數部分,學習了幾個函數,他們分別是:
getimagesize()
array getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize() 函數將測定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 影像檔的大小並返回映像的尺寸以及檔案類型和一個可以用於普通 HTML 檔案中 IMG 標記中的 height/width 文本字串。
imagecreatefromgif()
resource imagecreatefromgif ( string $filename )
imagecreatefromgif() 返回一映像標識符,代表了從給定的檔案名稱取得的映像。
意思就是以後為了方便使用這個圖片資源,這個函數返回一個操作的控制代碼。
類似的函數還有imagecreatefromjpeg(),imagecreatefrompng() 當然還有很多,大家可以看官方線上手冊
imagecolorat()
int imagecolorat ( resource $image , int $x , int $y )
返回 image 所指定的圖形中指定位置像素的色彩索引值。
imagecolorsforindex()
array imagecolorsforindex ( resource $image , int $index )
本函數返回一個具有 red,green,blue 和 alpha 的鍵名的關聯陣列,包含了指定色彩索引的相應的值。
大家看了一段生硬的介紹,估計困了,不過請堅持一下!
那麼學了這幾個函數後,怎麼練習一下呢?
其實我學到這幾個函數,就立即想到了一個很好玩的東西可以做!
是什嗎?你猜猜~!!!!
看代碼:
<?php
$url = "logo-yy.gif";
$size = getimagesize($url);
$width = $size[0];
$height = $size[1];
$im = imagecreatefromgif($url);
for($y=1;$y<$height;$y++){
for($x=1;$x<$width;$x++){
$color_index = imagecolorat($im, $x, $y);
$color_tran = imagecolorsforindex($im, $color_index);
echo("<span class=\"c\" style=\"color:RGB(".$color_tran['red'].",".$color_tran['green'].",".$color_tran['blue'].");\">");
echo("愛");
echo("</span>");
}
echo("<br>");
}
?>
要注意的是我的程式裡用的函數是imagecreatefromgif()
所以變數$url指向的檔案應該是GIF格式的,如果想指向JPG格式的檔案要用imagecreatefromjpeg()
當然我們可以寫在一起,因為第一個函數就可以判斷圖片的格式,我在這裡就不寫了!!哈哈
好了,有php環境的趕緊試試是什麼吧!呵呵
不建議用太大的圖片!小logo就好了!
不然,你可別怪我沒告訴你啊!
這個例子沒什麼實際用途!!但是他可以激發大家學習的樂趣!!
獻給正在學習PHP的人!