❶ 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圖片驗證碼中文內容怎麼寫
function image($string){
session_unregister("string");
session_register("string");
Header("Content-type:image/png");
$imageWidth=80;
$imageHeight=30;
$im=imagecreate($imageWidth,$imageHeight);
$backColor=ImageColorAllocate($im,rand(220,255),rand(220,255));
imagefilledrectangle($im,0,0,$imageWidth,$imageHeight,$backColor);
for($i=0;$i<100;$i++){
$dotColor = ImageColorAllocate($im,rand(0,255),rand(0,255),rand(0,255));
$x = rand(0,$imageWidth);$y = rand(0,$imageHeight);
imagesetpixel($im,$x,$y,$dotColor);
}
for($i=0;$i<strlen($string);$i++){
$frontColor = ImageColorAllocate($im,rand(0,120),rand(0,120),rand(0,120));
imagestring($im,10,rand(20*$i+1,20*$i+10),rand(0,5),substr($string,$i,1),$frontColor);
}
imagepng($im);
imagedestroy($im);
exit();
}
將參數傳入中文字元串
❸ 切換圖片的php怎麼寫
<?php
session_start();
function random($len) {
$srcstr = "";
mt_srand();
$strs = "";
for ($i = 0; $i < $len; $i++) {
$strs .= $srcstr[mt_rand(0, 30)];
}
return $strs;
}
//隨機生成的字元串
$str = random(4);
//驗證碼圖片的寬度
$width = 50;
//驗證碼圖片的高度
$height = 25;
//聲明需要創建的圖層的圖片格式
@ header("Content-Type:image/png");
//創建一個圖層
$im = imagecreate($width, $height);
//背景色
$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
//模糊點顏色
$pix = imagecolorallocate($im, 187, 230, 247);
//字體色
$font = imagecolorallocate($im, 41, 163, 238);
//繪模糊作用的點
mt_srand();
for ($i = 0; $i < 1000; $i++) {
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
}
//輸出字元
imagestring($im, 5, 7, 5, $str, $font);
//輸出矩形
imagerectangle($im, 0, 0, $width -1, $height -1, $font);
//輸出圖片
imagepng($im);
imagedestroy($im);
$str = md5($str);
//選擇 cookie
//SetCookie("verification", $str, time() + 7200, "/");
//選擇 Session
$_SESSION["verification"] = $str;
?>
❹ PHP圖像處理函數有哪些
php圖像處理函數大全
php圖片處理代碼分享,包括縮放、剪裁、縮放、翻轉、旋轉、透明、銳化等。需要的朋友可以參考下
一、創建圖片資源
imagecreatetruecolor(width,height);
imagecreatefromgif(圖片名稱);
imagecreatefrompng(圖片名稱);
imagecreatefromjpeg(圖片名稱);畫出各種圖像
imagegif(圖片資源,保存路徑);
imagepng()
imagejpeg();
二、獲取圖片屬性
imagesx(res//寬度
imagesy(res//高度
getimagesize(文件路徑)
返回一個具有四個單元的數組。索引
0 包含圖像寬度的像素值,索引 1 包含圖像高度的像素值。索引 2 是圖像類型的標記:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 =
PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10
= JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。這些標記與 PHP 4.3.0 新加的
IMAGETYPE 常量對應。索引 3 是文本字元串,內容為「height="yyy" width="xxx"」,可直接用於 IMG
標記。
銷毀圖像資源
imagedestroy(圖片資源);
三、透明處理
PNG、jpeg透明色都正常,只有gif不正常
imagecolortransparent(resource
image [,int
color])//將某個顏色設置成透明色
imagecolorstotal()
imagecolorforindex();
四、圖片的裁剪
imageresized()
imageresampled();
五、加水印(文字、圖片)
字元串編碼轉換string iconv ( string $in_charset ,
string $out_charset , string $str )
六、圖片旋轉
imagerotate();//制定角度的圖片翻轉
七、圖片的翻轉
沿X軸 沿Y軸翻轉
八、銳化
imagecolorsforindex()
imagecolorat()
❺ php在製作圖形中用imagestring函數寫入的漢字出來的卻是亂碼怎麼改成漢字
需要將漢字轉為UTF-8編碼。
iconv('GBK','UTF-8','漢字')