-
/** * 封裝成類---壓縮圖片 */ class Image { // 圖片的基本信息 private $info; // 內(nèi)存中的圖片 private $image; public function __construct($src) { // 打開一張圖片,讀取到內(nèi)存中 $info=getimagesize($src); $this->info=array( 'width'=>$info[0], 'height'=>$info[1], 'type'=>image_type_to_extension($info[2],false), 'mime'=>$info['mime'] ); $fun="imagecreatefrom{$this->info['type']}"; $this->image=$fun($src); } /* 壓縮圖片 */ public function thumb($width,$height) { $image_thumb=imagecreatetruecolor($width,$width); imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']); imagedestroy($this->image); $this->image=$image_thumb; }查看全部
-
/*二,操作圖片*/ // 1,在內(nèi)存中建立一個(gè)寬:300,高:200的真色彩圖片 $image_thumb=imagecreatetruecolor(300,200); // 2,核心步驟:將原圖復(fù)制到新建的真色彩圖片上,并按照一定比例壓縮 imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); // 3,銷毀原始圖片 imagedestroy($image);查看全部
-
/*二,操作圖片*/ (1)設(shè)置水印圖片的路徑 $image_Mark = "weixin.png"; (2)獲取水印圖片的基本信息 $info2 = getimagesize($image_Mark); (3)3通過水印的圖像編號來獲取水印的圖片類型 $type2 = image_type_to_extension($info2[2],false); (4)生成函數(shù)(名),實(shí)現(xiàn)根據(jù)不同的圖像類型 調(diào)用 不同的GD庫圖像創(chuàng)建函數(shù) $fun2 = "imagecreatefrom{$type2}"; (5)內(nèi)存中創(chuàng)建圖片 $water = $fun2($image_Mark); (6)合并圖片(給源圖片添加水印圖片) //imagecopymerge(源圖片,水印圖片,源圖片X軸位置,源圖片中軸位置,水印圖片X軸位置,水印圖片Y軸位置,水印圖片顯示寬度,水印圖片顯示高度,水印圖片透明度); //通過 源圖片X軸位置 和源圖片Y軸位置 控制 水印圖片 在 源圖片 中的位置; //通過 水印圖片X軸位置,水印圖片Y軸位置,水印圖片顯示寬度,水印圖片顯示高度 控制 顯示 水印圖片 的那一部分. imagecopymerge($image,$water,20,30,0,0,$info2[0],$info2[1],30); (7)銷毀水印圖片 imagedestroy($water);查看全部
-
/*一,打開圖片*/ // 1、配置圖片路徑 $src='pexels.jpeg'; // 2,獲取圖片的基本信息 $info=getimagesize($src); // 3,通過圖像的編號獲取圖片類型 $type=image_type_to_extension($info,false); // 4,在內(nèi)存中創(chuàng)建相同類型的圖像 $fun="imagecreatefrom{$type}"; // 5,將要操作的圖像復(fù)制到內(nèi)存中 $image=$func($src);查看全部
-
C.輸出(保存)圖像 //生成函數(shù)(名),實(shí)現(xiàn)根據(jù)不同的圖像類型 調(diào)用 不同的GD庫圖像輸出函數(shù): $func="image{$type}"; //瀏覽器輸出 $func($image); //保存圖片 $func($image,'newimage.'.{$type}); //參數(shù)1:源圖片 參數(shù)2:保存路徑+生成圖片名 D.銷毀圖片 imagedestory($image);查看全部
-
B.操作圖片 (1)設(shè)置字體的路徑 $font = '..ttf'; (2)設(shè)置文字水印內(nèi)容 $content = '你好,php'; (3)設(shè)置 源圖片所在畫布 將使用的顏色(相當(dāng)于為畫布分配畫筆顏色), $col= imagecolorallocatealpha($image,255,255,255,50) //$image為源圖片 三個(gè)255表示顏色(RGB類型) 50表示透明度 (4)寫入水印文字 imagetfftext($image,'字體大小','旋轉(zhuǎn)角','x軸偏移量','y軸偏移量',$col,$font,$content,)查看全部
-
素材準(zhǔn)備: 1.原圖片不要用中文命名。 2.使用小圖作為水印。 3.字體庫,windows有自帶的字體庫。(C:/Windows/Fonts) 4.開啟GD庫:xamp->打開php.ini->查找gd2->把extension=php_gd2.dll前面的;去掉。保存文件。查看全部
-
我出現(xiàn)圖片不存在主要是因?yàn)榘央p引號變成了單引號查看全部
-
<?php /*打開圖片*/ //1.配置圖片路徑 $src="123.jpg"; //2.獲取圖片信息 $info=getimagesize($src); //3.通過編號來獲取圖片類型 $type=image_type_to_extension($info[2],false); //4.在內(nèi)存中建立一個(gè)和圖片類型一樣的圖像 $fun="imagecreatefrom{$type}"; $image=$fun($src);//imagecreatefromjpeg($src); //操作圖片 //1.在內(nèi)存中建立一個(gè)寬300,高200的真色彩圖片 //$image_thumb=imagecreatetruecolor(300, 200); //1.設(shè)置水印路徑 $image_mark="002.jpg"; //2.核心步驟:將原圖復(fù)制到新建的真色彩圖片上,并且按照一定比例壓縮 //imagecopyresampled(, image, dst_x, dst_y, src_x, src_y, dst_w, dst_h, src_w, src_h) //2.獲取水印圖片信息 $info2=getimagesize($image_mark); //3.通過水印的圖像編號獲取水印的圖片類型 $type2=image_type_to_extension($info2[2],false); //4.在內(nèi)存中創(chuàng)建一個(gè)和我們的水印圖片一致的圖片類型 $fun2="imagecreatefrom{$type2}"; //5.把水印圖片復(fù)制到內(nèi)存中 $water=$fun2($image_mark); //6.合并圖片 imagecopymerge($image,$water,20,30,0,0,$info2[0],$info2[1],50); //7.銷毀水印圖片 imagedestroy($water); //輸出圖片 //在瀏覽器中輸出圖片 header("Content-type:".$info['mime']); $funs="image{$type}"; $funs($image); //保存圖片 $funs($image,"wateryellow.".$type); //銷毀圖片 imagedestroy($image); ?>查看全部
舉報(bào)
0/150
提交
取消