您好,登錄后才能下訂單哦!
這篇文章給大家介紹PHP中怎么利用內置函數生成圖片,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
第一步:創建圖片
新建一個php文件,命名為new-image.php(你可以任意命名,方便后面的調用就行)。
php中有兩個函數創建一張圖片:mageCreate()創建一張空圖片;ImageCreateFromPng()以現有的png圖片為背景來創建一張圖片。(這里的”Png”可以替換為”jpg”或”gif”,根據背景圖片的格式來確定)
$myImage=ImageCreate(400,60); //參數為寬度和高度 $myImage=ImageCreateFromJpg("https://cache.yisu.com/upload/information/20201209/266/40554.jpg");
無論你使用了上面的哪一種方法,我們就創建好了一張圖片,并把圖片存到了$myImage這個變量中。
第二步:添加顏色
這時我們需要通過ImageColorAllocate()函數來創建一些顏色,把他們存到變量中,方便后面使用。
$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的一些內置函數來添加一些幾何圖形:
ImageEllipse() //繪制橢圓 ImageArc() //繪制曲線 ImagePolygon() //繪制多邊形 ImageRectangle() //繪制矩形 ImageLine() //繪制線條
下面是一個例子
ImageRectangle($myImage, 50, 20, 200, 15, $blue);
這時,你會發現只繪制了矩形的輪廓,如果你想要的是填充的矩形,使用ImageFilledRectangle()方法:
ImageFilledRectangle($myImage, 50, 20, 200, 15, $blue);
第四步:添加文字
我們可以使用imagettftext()函數來為圖片添加文字:
復制代碼 代碼如下:
imagettftext($myImage, 12, 0, 5, 20, $black, "Fonts/Oblivious font.ttf", "這是要顯示的內容");
你肯定注意到了,在這里你需要選擇字體(此處用的是Fonts/Oblivious font.ttf, 你可以使用你自己的喜歡的字體)。 如果不知道如何來獲取字體,可以google一下,上面有很多的下載字體的網站,里面的內容足夠讓你眼花繚亂了。
第五步:生成圖片
當你成功的繪制好了你要顯示的圖片,接下來就要把它顯示在頁面中了。首先要做的是,告訴頁面,你要向他發送的數據是一張圖片:
//這里的png可以換成jpg,或者是gif,根據你要生成的圖片格式來確定 header("Content-type:image/png"); ImagePng($myImage);
接下來,因為我們不在需要$myImage這個變量了,我們需要把它的內存釋放掉:
ImageDestroy($myImage);
第六步:調用圖片
通過前面的五步,我們已經創建了一張圖片,下面給大家說一下如何調用這張創建好了的圖片。
在HTML文件中,我們使用url來引入這張圖片:
<img src="new-image.php的路徑" alt="myImage" /> //在src中,寫入new-image.php文件的路徑,你就會發現剛才創建的圖片已經被成功的調用了
利用imagepng()可生成一個圖片文件
<?php imagepng($myImage,"xxx.jpg"); ?>
例如:
<?php $myImage=ImageCreate(400,60); //參數為寬度和高度 $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"); ?>
關于PHP中怎么利用內置函數生成圖片就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。