程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP使用內置函數生成圖片的方法詳解

PHP使用內置函數生成圖片的方法詳解

編輯:PHP綜合

本文實例講述了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, 你可以使用你自己的喜歡的字體)。 如果不知道如何來獲取字體,可以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"); ?>

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

補充:小編在這裡推薦一款本站的php格式化美化的排版工具幫助大家在以後的PHP程序設計中進行代碼排版:

php代碼在線格式化美化工具:http://tools.jb51.net/code/phpformat

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP數組(Array)操作技巧大全》、《PHP數學運算技巧總結》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved