欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php gd庫 函數

林雅南1年前8瀏覽0評論

PHP GD庫是PHP開發中一個非常重要的擴展庫。它包含大量的函數,可以幫助我們在PHP中處理圖像和生成新的圖像。利用這個功能強大的擴展庫,我們可以實現一些很酷的效果,比如圖片縮放、裁剪和加水印等。在這篇文章中,我們將一些常用的GD庫函數進行詳細的介紹,并給出相應的示例。

一、創建圖像:

header("Content-Type:image/png");
$img=imagecreate(200,200);
$color_red=imagecolorallocate($img,255,0,0);
imagefilledrectangle($img,0,0,200,200,$color_red);//填充矩形
imagepng($img);
imagedestroy($img);

以上代碼實現了一個紅色矩形的生成。其中imagecreate()是創建一個新的圖像資源,指定寬和高;imagecolorallocate()是設置矩形顏色;imagefilledrectangle()是填充矩形區域;imagepng()輸出圖像;imagedestroy()銷毀圖像資源。

二、圖片縮放:

header("Content-Type:image/jpeg");
$src_img=imagecreatefromjpeg("my_pic.jpg");
$width=imagesx($src_img)*0.5;
$height=imagesy($src_img)*0.5;
$dst_img=imagecreatetruecolor($width,$height);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$width,$height,imagesx($src_img),imagesy($src_img));
imagejpeg($dst_img);
imagedestroy($dst_img);
imagedestroy($src_img);

以上代碼將原始圖像縮小一半并輸出。其中imagecreatefromjpeg()是從指定的JPEG文件中創建一個新的圖像資源;imagesx()imagesy()是獲取圖像資源寬度和高度;imagecopyresampled()是將縮小的圖像拷貝到新的圖像資源中,采用高質量方法;imagejpeg()輸出圖像;imagedestroy()銷毀圖像資源。

三、圖片水印:

header("Content-Type:image/png");
$src_img=imagecreatefrompng("my_pic.png");
$watermark_img=imagecreatefrompng("watermark.png");
$watermark_width=imagesx($watermark_img);
$watermark_height=imagesy($watermark_img);
$src_width=imagesx($src_img);
$src_height=imagesy($src_img);
$dst_x=$src_width-$watermark_width-10;//水印x坐標
$dst_y=$src_height-$watermark_height-10;//水印y坐標
imagecopy($src_img,$watermark_img,$dst_x,$dst_y,0,0,$watermark_width,$watermark_height);
imagepng($src_img);
imagedestroy($src_img);
imagedestroy($watermark_img);

以上代碼實現了往圖片上添加一個水印圖像。其中imagecreatefrompng()是從指定的PNG文件中創建一個新的圖像資源;imagesx()imagesy()是獲取圖像資源寬度和高度;imagecopy()是將水印圖像拷貝到原始圖像中,并指定位置、大小等參數;imagepng()輸出圖像;imagedestroy()銷毀圖像資源。

四、驗證碼:

header("Content-Type:image/png");
$img=imagecreatetruecolor(120,40);
$bgcolor=imagecolorallocate($img,100,100,100);
imagefill($img,0,0,$bgcolor);
$code="";
$char="abcdefghijklnmopqrstuvwxyz0123456789";
for($i=0;$i<4;$i++){
$font_size=rand(20,25);
$font_color=imagecolorallocate($img,rand(0,120),rand(0,120),rand(0,120));
$char_index=rand(0,strlen($char)-1);
$char_txt=$char[$char_index];
$code.=$char_txt;
$x=20+$i*20;
$y=rand(25,35);
imagestring($img,$font_size,$x,$y,$char_txt,$font_color);
}
session_start();
$_SESSION["code"]=$code;
imagepng($img);
imagedestroy($img);

以上代碼為生成驗證碼的示例。其中imagefill()是使用指定顏色填充圖像資源;imagecolorallocate()是設置字體顏色;strlen()是獲取字符串長度;rand()是隨機數函數;imagestring()是向圖像資源中寫入字符串,并設置字體大小、坐標等參數;session_start()是開啟session,用于保存驗證碼。

總之,PHP GD庫函數非常強大,可以實現很多圖像處理的需求。以上只是一些常用的方法,我們可以根據具體情況進行更多的嘗試和實踐。