導航:首頁 > 編程語言 > php繪圖函數

php繪圖函數

發布時間:2023-02-26 20:21:49

Ⅰ 在php中圖像處理新建一個畫布用什麼函數

$newImage=imagecreatetruecolor($xSize,$ySize);
//增加一個白色的底,不然新建的畫布是黑色的
$white=imagecolorallocate($newImage,255,255,255);
imagefill($newImage,0,0,$white);

圖像處理也經常使用到imagemerge、getimagesize、imagecreatefromjpeg等函數,建議你看下這個鏈接,全是圖像處理的函數http://php.net/manual/zh/ref.image.php

Ⅱ php 圖象處理函數 imagestring 函數的運用

可以用imagettftext來生成,支持truetype字體

array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )

image
圖像資源。見 imagecreatetruecolor()。

size
字體大小。根據 GD 版本不同,應該以像素大小指定(GD1)或點大小(GD2)。

angle
角度製表示的角度,0 度為從左向右讀的文本。更高數值表示逆時針旋轉。例如 90 度表示從下向上讀的文本。

x
由 x,y 所表示的坐標定義了第一個字元的基本點(大概是字元的左下角)。這和 imagestring() 不同,其 x,y 定義了第一個字元的左上角。例如 "top left" 為 0, 0。

y
Y 坐標。它設定了字體基線的位置,不是字元的最底端。

color
顏色索引。使用負的顏色索引值具有關閉防鋸齒的效果。見 imagecolorallocate()。

fontfile
是想要使用的 TrueType 字體的路徑。

根據 PHP 所使用的 GD 庫的不同,當 fontfile 沒有以 / 開頭時則 .ttf 將被加到文件名之後並且會在庫定義字體路徑中嘗試搜索該文件名。

當使用的 GD 庫版本低於 2.0.18 時,一個空格字元 而不是分號將被用來作為不同字體文件的「路徑分隔符」。不小心使用了此特性將會導致一條警告信息:Warning: Could not find/open font。對受影響的版本來說唯一解決方案就是將字體移動到不包含空格的路徑中去。

很多情況下字體都放在腳本的同一個目錄下。下面的小技巧可以減輕包含的問題。 <?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>

text
文本字元串。

可以包含十進制數字化字元表示(形式為:€)來訪問字體中超過位置 127 的字元。UTF-8 編碼的字元串可以直接傳遞。

如果字元串中使用的某個字元不被字體支持,一個空心矩形將替換該字元。

imagettftext() 返回一個含有 8 個單元的數組表示了文本外框的四個角,順序為坐下角,右下角,右上角,左上角。這些點是相對於文本的而和角度無關,因此「左上角」指的是以水平方向看文字時其左上角。

例子 1. imagettftext() 例子

本例中的腳本將生成一個白色的 400x30 像素 PNG 圖像,其中有黑色(帶灰色陰影)Arial 字體寫的「Testing...」。

<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

Ⅲ PHP 自寫一個函數畫任意多邊形

<?php
$n=6;//幾邊形
$width=500;//畫布大小
$im=imagecreatetruecolor($width+1,$width+1);//創建畫布
$background=ImageColorAllocate($im,71,76,83);
$front=ImageColorAllocate($im,146,205,249);

imagefill($im,0,0,$background);
$points=getPolygonVertices($n,$width/2);
imagepolygon($im,$points,$n,$front);
header('Content-type:image/png');//通知瀏覽器這不是文本而是一個圖片
imagepng($im);//生成PNG格式的圖片輸出給瀏覽器
imagedestroy($im);//銷毀圖像資源,釋放畫布佔用的內存空間

functiongetPolygonVertices($edges,$r){
$ca=-90;
$aiv=360/$edges;
$ata=pi()/180;
$list=array();
for($k=0;$k<$edges;$k++){
$x=cos($ca*$ata)*$r;
$y=sin($ca*$ata)*$r;
$list[]=$x+$r;
$list[]=$y+$r;
$ca+=$aiv;
}
return$list;
}

蒼天啊,我太佩服我自己了~~~哈哈~~

希望對你有所幫助哈~

Ⅳ php函數繪圖顯示圖像後就不能return了嗎

沒具體測試過,不過道理上應該是可以return的。仔細檢查一下代碼唄,或者你貼上來大家幫你看看。
imagepng只是把內容輸出了,並沒有退出php進程,再說imagepng函數本身也會返回true/false。

補充一點,一般來說繪圖函數就是負責繪圖,生成隨機字元的函數負責生成,不應該將這兩個功能放到一個函數里。從流程上,應該先調用隨機字元函數獲取字元串,然後將字元串傳遞給繪圖函數要求它繪制。

閱讀全文

與php繪圖函數相關的資料

熱點內容
文件名修改為文件夾的名字批處理 瀏覽:251
拍照程序員 瀏覽:827
wps怎麼把pdf轉jpg 瀏覽:217
自拍用什麼app做的藝術照 瀏覽:169
h3c無線配置命令 瀏覽:515
linux代碼閱讀工具 瀏覽:160
能夠畫出對稱圖形的是什麼app 瀏覽:424
單片機投票器 瀏覽:467
程序員那麼可愛唱嗎 瀏覽:830
手機誤刪的app怎麼恢復 瀏覽:700
java第三方加密庫 瀏覽:660
編譯代碼軟體哪個好 瀏覽:997
編譯器軟體圖片 瀏覽:880
美團專送app怎麼不接受遠單 瀏覽:833
伺服器mgmt口如何連接電腦 瀏覽:798
做程序員至少要精通幾種 瀏覽:673
個人用雲伺服器價格對比 瀏覽:257
如何遠程刪除伺服器文件夾 瀏覽:779
a9賬號如何移植到安卓 瀏覽:340
gpib介面編程 瀏覽:468