首頁  >  文章  >  後端開發  >  利用php 內建函數產生圖片的方法實例詳解

利用php 內建函數產生圖片的方法實例詳解

怪我咯
怪我咯原創
2017-06-28 10:36:432613瀏覽

本文實例講述了PHP使用內建函數產生圖片的方法。分享給大家供大家參考,具體如下:

第一步:創建圖片

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

php中有兩個函數建立一張圖片:mageCreate()建立一張空白圖片;ImageCreateFromPng()以現有的png圖片為背景來建立一張圖片。 (這裡的”Png”可以替換為“jpg”或”gif”,根據背景圖片的格式來確定)

$myImage=ImageCreate(400,60); //参数为宽度和高度
$myImage=ImageCreateFromJpg("http://farm5.static.flickr.com/418978874_c349c14359_o.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, 你可以使用你自己的喜歡的字體)。 如果不知道如何來取得字體,可以穀歌一下,上面有很多的下載字體的網站,裡面的內容足夠讓你眼花撩亂了。 ######第五步:產生圖片######當你成功的繪製好了你要顯示的圖片,接下來就要把它顯示在頁面中了。首先要做的是,告訴頁面,你要傳送給他的資料是一張圖片:###
//这里的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"); ?>
###以上程式碼將在根目錄下產生一個xxx.jpg的圖片檔。 ###

以上是利用php 內建函數產生圖片的方法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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