2012年3月9日 星期五

PHP GD筆記


產生一塊500*500的紅色方塊

<?php
header("Content-type:image/png");
$myimg = imagecreate(500,500);
$color = imagecolorallocate($myimg,255,0,0);
imagepng($myimg);
?>





在畫面上畫一個800*800的正方型 
<?php
header("Content-type:image/png");
/*echo "<h1>顯示GD_info資訊</h1><br/>";
var_dump(gd_info())."<br/>";

echo "<br/><h1>開始畫</h1>";
*/
$width = 800;
$height = 800;
$canvas = imagecreate($width,$height) or die ("無法顯示圖片");
//imagecreate()-想像成做畫時所需要的一張畫布
$background_color = imagecolorallocate($canvas,238,162,173);
//設定背景顏色

//imageline($canvas, $x1,$y1,$x2,$y2,$line_color); 
imagepng($canvas);
?>

大部分的書都會寫使用gd函式進行繪圖的步驟 : 
步驟大同小異
1. 先建立一張畫布(空圖片) 也就是imagecreate() .  imagecreateturecolor() 也可以拉 書上是這麼寫
2. 決定顏色,這個影像背景色預設是黑色
3. (畫線)
4.輸出圖片
5.釋放記憶體空間


header( ) 函數是個很難取悅的函數,這一行是不能省略的,因為必須告訴文件你是圖片,否則出現亂碼,
我的就這樣 �PNG IHDR�� ��<� PLTEH��Y IDATx����à�S_�U | P ڠ �IEND�B`��PNG IHDRdd J, PLTE���'` IDATx�c` �` ��Q@O x �E�IEND�B`,
亂七八糟的一堆東西跑出來

我曾經試過把header("Content-type:image/png"); 裡面的image打錯 ,打成images,結果變成google chrome 把這個php給下載下來了 = =

如果將echo (綠色文字區域) 顯示執行,就會出現討人厭叉燒包
imagecreate 有沒有加@結果一樣
函數後面是( ) ,前面沒有$  我以為那是變數xdd


參考資料:
RGB 色票表 http://www.wahart.com.hk/rgb.htm
網路教學  http://big5.webasp.net/article/7/6036_print.htm

沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...