PHP使用內(nèi)置函數(shù)生成圖片的方法詳解
來源:易賢網(wǎng) 閱讀:998 次 日期:2016-08-23 16:33:17
溫馨提示:易賢網(wǎng)小編為您整理了“PHP使用內(nèi)置函數(shù)生成圖片的方法詳解”,方便廣大網(wǎng)友查閱!

本文實例講述了PHP使用內(nèi)置函數(shù)生成圖片的方法。分享給大家供大家參考,具體如下:

第一步:創(chuàng)建圖片

新建一個php文件,命名為new-image.php(你可以任意命名,方便后面的調(diào)用就行)。

php中有兩個函數(shù)創(chuàng)建一張圖片:mageCreate()創(chuàng)建一張空圖片;ImageCreateFromPng()以現(xiàn)有的png圖片為背景來創(chuàng)建一張圖片。(這里的”Png”可以替換為”jpg”或”gif”,根據(jù)背景圖片的格式來確定)

$myImage=ImageCreate(400,60); //參數(shù)為寬度和高度

$myImage=ImageCreateFromJpg("http://farm5.static.flickr.com/418978874_c349c14359_o.jpg");

無論你使用了上面的哪一種方法,我們就創(chuàng)建好了一張圖片,并把圖片存到了$myImage這個變量中。

第二步:添加顏色

這時我們需要通過ImageColorAllocate()函數(shù)來創(chuàng)建一些顏色,把他們存到變量中,方便后面使用。

$white=ImageColorAllocate($myImage, 255, 255, 255);

$black=ImageColorAllocate($myImage, 0, 0, 0);

$red=ImageColorAllocate($myImage, 255, 0, 0);

$green=ImageColorAllocate($myImage, 0, 255, 0);

$blue=ImageColorAllocate($myImage, 0, 0, 255);

第三步:繪制圖形

你還可以使用php的一些內(nèi)置函數(shù)來添加一些幾何圖形:

ImageEllipse() //繪制橢圓

ImageArc() //繪制曲線

ImagePolygon() //繪制多邊形

ImageRectangle() //繪制矩形

ImageLine() //繪制線條

下面是一個例子:

ImageRectangle($myImage, 50, 20, 200, 15, $blue);

這時,你會發(fā)現(xiàn)只繪制了矩形的輪廓,如果你想要的是填充的矩形,使用ImageFilledRectangle()方法:

ImageFilledRectangle($myImage, 50, 20, 200, 15, $blue);

第四步:添加文字

我們可以使用imagettftext()函數(shù)來為圖片添加文字:

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

imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf",  "這是要顯示的內(nèi)容");

你肯定注意到了,在這里你需要選擇字體(此處用的是Fonts/Oblivious font.ttf, 你可以使用你自己的喜歡的字體)。 如果不知道如何來獲取字體,可以google一下,上面有很多的下載字體的網(wǎng)站,里面的內(nèi)容足夠讓你眼花繚亂了。

第五步:生成圖片

當你成功的繪制好了你要顯示的圖片,接下來就要把它顯示在頁面中了。首先要做的是,告訴頁面,你要向他發(fā)送的數(shù)據(jù)是一張圖片:

//這里的png可以換成jpg,或者是gif,根據(jù)你要生成的圖片格式來確定

header("Content-type:image/png");

ImagePng($myImage);

接下來,因為我們不在需要$myImage這個變量了,我們需要把它的內(nèi)存釋放掉:

ImageDestroy($myImage);

第六步:調(diào)用圖片

通過前面的五步,我們已經(jīng)創(chuàng)建了一張圖片,下面給大家說一下如何調(diào)用這張創(chuàng)建好了的圖片。

在HTML文件中,我們使用url來引入這張圖片:

<img src="new-image.php的路徑" alt="myImage" />

//在src中,寫入new-image.php文件的路徑,你就會發(fā)現(xiàn)剛才創(chuàng)建的圖片已經(jīng)被成功的調(diào)用了

利用imagepng()可生成一個圖片文件:

<?php imagepng($myImage,"xxx.jpg"); ?>

例如:

<?php

$myImage=ImageCreate(400,60); //參數(shù)為寬度和高度

$white=ImageColorAllocate($myImage, 255, 255, 255);

$black=ImageColorAllocate($myImage, 0, 0, 0);

$red=ImageColorAllocate($myImage, 255, 0, 0);

$green=ImageColorAllocate($myImage, 0, 255, 0);

$blue=ImageColorAllocate($myImage, 0, 0, 255);

imagettftext($myImage, 12, 0, 5, 20, $red, "stxingka.ttf", "果凍 Elvis");

?>

<?php imagepng($myImage,"xxx.jpg"); ?>

以上代碼將在根目錄下生成一個xxx.jpg的圖片文件。

希望本文所述對大家PHP程序設(shè)計有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP使用內(nèi)置函數(shù)生成圖片的方法詳解
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)