首頁  >  文章  >  後端開發  >  php怎麼設定畫布顏色

php怎麼設定畫布顏色

青灯夜游
青灯夜游原創
2021-07-19 20:05:562742瀏覽

設定畫布顏色的方法:1、使用「imagecolorallocate(image,red,green,blue)」語句;2、使用「imagecolorallocatealpha(image,red,green,blue,alpha)」語句。

php怎麼設定畫布顏色

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

方法1:imagecolorallocate() 函數

imagecolorallocate() 函數可以為一個圖像資源分配顏色,如果在圖像中需要設定多種顏色,只要多次呼叫函數即可。函數的語法格式如下所示:

imagecolorallocate(resource $image, int $red, int $green, int $blue):

其中,$image 為要設定顏色的圖像資源,imagecolorallocate() 函數會傳回一個標識符,代表了由給定的RGB 成分組成的顏色;$ red,$green 和$blue 分別是所需的顏色的紅,綠,藍成分,取值範圍是0 到255 的整數或十六進位的0x00 到0xFF。

提示:如果是使用 imagecreate() 函數建立的映像資源,在第一次呼叫 imagecolorallocate() 函數時會預設為其填滿背景色。

【範例】使用 imagecolorallocate() 函數為圖片設定顏色。

<?php
    $image = imagecreate(100, 100);
    $blue = imagecolorallocate($image, 0, 0, 255);
    $red = imagecolorallocate($image, 255, 0, 0);
    $green = imagecolorallocate($image, 0, 255, 0);
    header(&#39;Content-type:image/jpeg&#39;);
    imagejpeg($image);
    imagedestroy($image);
?>

運行結果如下圖所示:

php怎麼設定畫布顏色

方法2:使用imagecolorallocatealpha() 函數

#imagecolorallocatealpha () 函數的作用和imagecolorallocate() 相同,但多了一個額外的設定透明度的參數alpha,函數的語法格式如下:

imagecolorallocatealpha(resource $image, int $red, int $green, int $blue, int $alpha)

其中,$image 為要設定顏色的圖片資源;$red ,$green 和$blue 分別是所需的顏色的紅,綠,藍成分,取值範圍是0 到255 的整數或十六進位的0x00 到0xFF;$alpha 用來設定顏色的透明的,取值範圍在0 到127 之間,0 表示完全不透明,127 則表示完全透明。

【範例】使用 imagecolorallocatealpha() 函數為圖片設定顏色。

<?php
    $size=300;
    $image=imagecreatetruecolor($size,$size);
    //用白色背景加黑色边框画个方框
    $back=imagecolorallocate($image,255,255,255);
    $border=imagecolorallocate($image,0,0,0);
    imagefilledrectangle($image,0,0,$size-1,$size-1,$back);
    imagerectangle($image,0,0,$size-1,$size-1,$border);
    $yellow_x=100;
    $yellow_y=75;
    $red_x=120;
    $red_y=165;
    $blue_x=187;
    $blue_y=125;
    $radius=150;
    //用alpha值分配一些颜色
    $yellow=imagecolorallocatealpha($image,255,255,0,75);
    $red=imagecolorallocatealpha($image,255,0,0,75);
    $blue=imagecolorallocatealpha($image,0,0,255,75);
    //画3个交迭的圆
    imagefilledellipse($image,$yellow_x,$yellow_y,$radius,$radius,$yellow);
    imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red);
    imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue);
    //不要忘记输出正确的header!
    header(&#39;Content-type:image/png&#39;);
    //最后输出结果
    imagepng($image);
    imagedestroy($image);
?>

運行結果如下圖所示:

php怎麼設定畫布顏色

推薦學習:《PHP影片教學

以上是php怎麼設定畫布顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn