#PhalApi-Image -- 图像处理git
##前言 由于在工做中遇到了须要按照尺寸压缩上传图片,进过了一番寻找发现ThinkPhP图形处理可以知足大部分需求, 因此特意制做成拓展的方式提供出来但愿,能给给为小伙伴排忧解难!api
注:特别鸣谢@麦当苗儿 zuojiazi@vip.qq.com数组
附上:.net
官网地址:http://www.phalapi.net/code
开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release图片
开源中国拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Libraryip
##1. 安装图片处理
配置方式很是简单只须要把拓展下载下来放入Library文件内便可,而后就可使用以下方法进行实例get
//初始化 $PhalApi_Image = new Image_Lite(IMAGE_GD, "图片地址"); //以上这句话也能够写成以下 默认使用GD库 $PhalApi_Image = new Image_Lite(); //打开图片 $PhalApi_Image->open('./1.jpg');
##2.基础方法it
$width = $PhalApi_Image->width(); // 返回图片的宽度 $height = $PhalApi_Image->height(); // 返回图片的高度 $type = $PhalApi_Image->type(); // 返回图片的类型 $mime = $PhalApi_Image->mime(); // 返回图片的mime类型 $size = $PhalApi_Image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度
##3. 压缩裁剪
图片处理最关键的一项功能就是压缩和裁剪,好比用户上传了一套图片2Mb*10张=20MB让咱们直接把原图交给用户的时候这个流量几乎承担不起因此就须要使用到图片压缩以及裁剪技术(具体看业务需求)
/** * 能够支持其余类型的缩略图生成,设置包括下列常量或者对应的数字: * IMAGE_THUMB_SCALING //常量,标识缩略图等比例缩放类型 * IMAGE_THUMB_FILLED //常量,标识缩略图缩放后填充类型 * IMAGE_THUMB_CENTER //常量,标识缩略图居中裁剪类型 * IMAGE_THUMB_NORTHWEST //常量,标识缩略图左上角裁剪类型 * IMAGE_THUMB_SOUTHEAST //常量,标识缩略图右下角裁剪类型 * IMAGE_THUMB_FIXED //常量,标识缩略图固定尺寸缩放类型 */ // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg $PhalApi_Image->thumb(150, 150, IMAGE_THUMB_SCALING); $PhalApi_Image->save("thumb.jpg"); //将图片裁剪为400x400并保存为corp.jpg $PhalApi_Image->crop(400, 400)->save('./crop.jpg'); //将图片裁剪为400x400并保存为corp.jpg 从(100,30)开始裁剪 $PhalApi_Image->crop(400, 400, 100, 30)->save('./crop.jpg');
##4. 图片水印
/** * water方法的第二个参数表示水印的位置,能够传入下列常量或者对应的数字: * IMAGE_WATER_NORTHWEST = 1 ; //左上角水印 * IMAGE_WATER_NORTH = 2 ; //上居中水印 * IMAGE_WATER_NORTHEAST = 3 ; //右上角水印 * IMAGE_WATER_WEST = 4 ; //左居中水印 * IMAGE_WATER_CENTER = 5 ; //居中水印 * IMAGE_WATER_EAST = 6 ; //右居中水印 * IMAGE_WATER_SOUTHWEST = 7 ; //左下角水印 * IMAGE_WATER_SOUTH = 8 ; //下居中水印 * IMAGE_WATER_SOUTHEAST = 9 ; //右下角水印 */ //添加图片水印 $PhalApi_Image->open('./1.jpg'); //将图片裁剪为440x440并保存为corp.jpg $PhalApi_Image->crop(440, 440)->save('./crop.jpg'); // 给裁剪后的图片添加图片水印(水印文件位于./logo.png),位置为右下角,保存为water.gif $PhalApi_Image->water('./logo.png')->save("water.gif"); // 给原图添加水印并保存为water_o.gif(须要从新打开原图) $PhalApi_Image->open('./1.jpg')->water('./logo.png')->save("water_o.gif"); //还能够支持水印图片的透明度(0~100,默认值是80),例如: // 在图片左上角添加水印(水印文件位于./logo.png) 水印图片的透明度为50 并保存为water.jpg $PhalApi_Image->open('./1.jpg')->water('./logo.png', IMAGE_WATER_NORTHWEST, 50)->save("water.jpg");
##5. 总结
但愿此拓展可以给你们带来方便以及实用,拓展支持GIF文件处理,而且支持GD库和Imagick库能够根据需求自行选择!
注:笔者能力有限有说的不对的地方但愿你们可以指出,也但愿多多交流!
官网QQ交流群:421032344 欢迎你们的加入!