-
/** * 封装成类---压缩图片 */ class Image { // 图片的基本信息 private $info; // 内存中的图片 private $image; public function __construct($src) { // 打开一张图片,读取到内存中 $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,在内存中建立一个宽:300,高:200的真色彩图片 $image_thumb=imagecreatetruecolor(300,200); // 2,核心步骤:将原图复制到新建的真色彩图片上,并按照一定比例压缩 imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); // 3,销毁原始图片 imagedestroy($image);查看全部
-
/*二,操作图片*/ (1)设置水印图片的路径 $image_Mark = "weixin.png"; (2)获取水印图片的基本信息 $info2 = getimagesize($image_Mark); (3)3通过水印的图像编号来获取水印的图片类型 $type2 = image_type_to_extension($info2[2],false); (4)生成函数(名),实现根据不同的图像类型 调用 不同的GD库图像创建函数 $fun2 = "imagecreatefrom{$type2}"; (5)内存中创建图片 $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,在内存中创建相同类型的图像 $fun="imagecreatefrom{$type}"; // 5,将要操作的图像复制到内存中 $image=$func($src);查看全部
-
C.输出(保存)图像 //生成函数(名),实现根据不同的图像类型 调用 不同的GD库图像输出函数: $func="image{$type}"; //浏览器输出 $func($image); //保存图片 $func($image,'newimage.'.{$type}); //参数1:源图片 参数2:保存路径+生成图片名 D.销毁图片 imagedestory($image);查看全部
-
B.操作图片 (1)设置字体的路径 $font = '..ttf'; (2)设置文字水印内容 $content = '你好,php'; (3)设置 源图片所在画布 将使用的颜色(相当于为画布分配画笔颜色), $col= imagecolorallocatealpha($image,255,255,255,50) //$image为源图片 三个255表示颜色(RGB类型) 50表示透明度 (4)写入水印文字 imagetfftext($image,'字体大小','旋转角','x轴偏移量','y轴偏移量',$col,$font,$content,)查看全部
-
素材准备: 1.原图片不要用中文命名。 2.使用小图作为水印。 3.字体库,windows有自带的字体库。(C:/Windows/Fonts) 4.开启GD库:xamp->打开php.ini->查找gd2->把extension=php_gd2.dll前面的;去掉。保存文件。查看全部
-
我出现图片不存在主要是因为把双引号变成了单引号查看全部
-
<?php /*打开图片*/ //1.配置图片路径 $src="123.jpg"; //2.获取图片信息 $info=getimagesize($src); //3.通过编号来获取图片类型 $type=image_type_to_extension($info[2],false); //4.在内存中建立一个和图片类型一样的图像 $fun="imagecreatefrom{$type}"; $image=$fun($src);//imagecreatefromjpeg($src); //操作图片 //1.在内存中建立一个宽300,高200的真色彩图片 //$image_thumb=imagecreatetruecolor(300, 200); //1.设置水印路径 $image_mark="002.jpg"; //2.核心步骤:将原图复制到新建的真色彩图片上,并且按照一定比例压缩 //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.在内存中创建一个和我们的水印图片一致的图片类型 $fun2="imagecreatefrom{$type2}"; //5.把水印图片复制到内存中 $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); ?>查看全部
举报
0/150
提交
取消