欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP中使用GD庫(kù)創(chuàng)建圓形餅圖的例子

 更新時(shí)間:2014年11月19日 11:10:07   投稿:junjie  
這篇文章主要介紹了PHP中使用GD庫(kù)創(chuàng)建圓形餅圖的例子,本文給出了的代碼例子實(shí)現(xiàn)了一個(gè)扇形統(tǒng)計(jì)圖,需要的朋友可以參考下

在PHP中,有一些簡(jiǎn)單的圖像函數(shù)是可以直接使用的,但大多數(shù)要處理的圖像,都需要在編譯PHP時(shí)加上GD庫(kù)。除了安裝GD庫(kù)之外,在PHP中還可能需要其他的庫(kù),這可以根據(jù)需要支持哪些圖像格式而定。GD庫(kù)可以在http://www.boutell.com/gd/免費(fèi)下載,不同的GD版本支持的圖像格式不完全一樣,最新的GD庫(kù)版本支持GIF、JPEG、PNG、WBMP、XBM等格式的圖像文件,此外還支持一些如FreeType、Type 1等字體庫(kù)。通過(guò)GD庫(kù)中的函數(shù),可以完成各種點(diǎn)、線、幾何圖形、文本及顏色的操作處理,也可以創(chuàng)建或讀取多種格式的圖像文件。

  在PHP中,通過(guò)GD庫(kù)處理圖像的操作都是先在內(nèi)存中處理,操作完成以后再以文件流的方式輸出到瀏覽器或保存在服務(wù)器的磁盤中。創(chuàng)建一個(gè)圖像應(yīng)該完成如下所示4個(gè)基本步驟。

 ?、賱?chuàng)建畫布:所有的繪圖設(shè)計(jì)都需要在一個(gè)背景圖片上完成,而畫布實(shí)際上就是在內(nèi)存中開(kāi)辟的一塊臨時(shí)區(qū)域,用于存儲(chǔ)圖像的信息。以后的圖像操作都將基于這個(gè)背景畫布,該畫布的管理就類似于我們?cè)诋嫯嫊r(shí)使用的畫布。

 ?、诶L制圖像:畫布創(chuàng)建完成以后,就可以通過(guò)這個(gè)畫布資源,使用各種畫像函數(shù)設(shè)置圖像的顏色、填充畫布、畫點(diǎn)、線段、各種幾何圖形,以及向圖像中添加文本等。

 ?、圯敵鰣D像:完成整個(gè)圖像的繪制以后,需要將圖像以某種格式保存到服務(wù)器指定的文件中,或?qū)D像直接輸出到瀏覽器上顯示給客戶。但在圖像輸出之前,一定要使用header()函數(shù)發(fā)送Content-type通知瀏覽器,這次發(fā)送的是圖片不是文本。

 ?、茚尫刨Y源:圖像被輸出以后,畫布中的內(nèi)容也不再有用。出于節(jié)約系統(tǒng)資源的考慮,需要及時(shí)清楚畫布占用的所有內(nèi)存資源。
  我們先來(lái)了解一下一個(gè)非常簡(jiǎn)單的創(chuàng)建圖像腳本。在下面的腳本文件image.php中,按前面介紹的繪制圖像的四個(gè)步驟,使用GD庫(kù)動(dòng)態(tài)輸出一個(gè)扇形統(tǒng)計(jì)圖。代碼如下所示:

復(fù)制代碼 代碼如下:

<?php
    //創(chuàng)建畫布,返回一個(gè)資源類型的變量$image,并在內(nèi)存中開(kāi)辟一個(gè)臨時(shí)區(qū)域
    $image = imagecreatetruecolor(100, 100);                //創(chuàng)建畫布大小為100x100
 
    //設(shè)置圖像中所需的顏色,相當(dāng)于在畫畫時(shí)準(zhǔn)備的染料盒
    $white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);          //為圖像分配顏色為白色
    $gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);           //為圖像分配顏色為灰色
    $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);       //為圖像分配顏色為暗灰色
    $navy = imagecolorallocate($image, 0x00, 0x00, 0x80);           //為圖像分配顏色為深藍(lán)色
    $darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);       //為圖像分配顏色為暗深藍(lán)色
    $red = imagecolorallocate($image, 0xFF, 0x00, 0x00);           //為圖像分配顏色為紅色
    $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);       //為圖像分配顏色為暗紅色
 
    imagefill($image, 0, 0, $white);            //為畫布背景填充背景顏色
    //動(dòng)態(tài)制作3D效果
    for ($i = 60; $i >50; $i--){                //循環(huán)10次畫出立體效果
        imagefilledarc($image, 50, $i, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);
        imagefilledarc($image, 50, $i, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);
        imagefilledarc($image, 50, $i, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);
    }
 
    imagefilledarc($image, 50, 50, 100, 50, -160, 40, $navy, IMG_ARC_PIE);      //畫一橢圓弧且填充
    imagefilledarc($image, 50, 50, 100, 50, 40 , 75, $gray, IMG_ARC_PIE);      //畫一橢圓弧且填充
    imagefilledarc($image, 50, 50, 100, 50, 75, 200, $red, IMG_ARC_PIE);      //畫一橢圓弧且填充
 
    imagestring($image, 1, 15, 55, '34.7%', $white);                //水平地畫一行字符串
    imagestring($image, 1, 45, 35, '55.5%', $white);                //水平地畫一行字符串
 
    //向?yàn)g覽器中輸出一個(gè)GIF格式的圖片
    header('Content-type:image/png');               //使用頭函數(shù)告訴瀏覽器以圖像方式處理以下輸出
    imagepng($image);                       //向?yàn)g覽器輸出
    imagedestroy($image);                   //銷毀圖像釋放資源
?>

直接通過(guò)瀏覽器請(qǐng)求該腳本,或是將該腳本所在的URL,賦給HTML中的IMG標(biāo)記的src屬性,都可以獲取動(dòng)態(tài)輸出的圖像結(jié)果,如下圖所示:

相關(guān)文章

最新評(píng)論