溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中怎么利用內(nèi)置函數(shù)生成圖片

發(fā)布時(shí)間:2021-07-14 15:57:27 來源:億速云 閱讀:127 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹PHP中怎么利用內(nèi)置函數(shù)生成圖片,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

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

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

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

$myImage=ImageCreate(400,60); //參數(shù)為寬度和高度
$myImage=ImageCreateFromJpg("https://cache.yisu.com/upload/information/20201209/266/40554.jpg");

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

第二步:添加顏色

這時(shí)我們需要通過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() //繪制線條

下面是一個(gè)例子

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

這時(shí),你會(huì)發(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)容足夠讓你眼花繚亂了。

第五步:生成圖片

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

//這里的png可以換成jpg,或者是gif,根據(jù)你要生成的圖片格式來確定
header("Content-type:image/png");
ImagePng($myImage);

接下來,因?yàn)槲覀儾辉谛枰?myImage這個(gè)變量了,我們需要把它的內(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文件的路徑,你就會(huì)發(fā)現(xiàn)剛才創(chuàng)建的圖片已經(jīng)被成功的調(diào)用了

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

<?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"); ?>

關(guān)于PHP中怎么利用內(nèi)置函數(shù)生成圖片就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI