php图像处理库(intervention/image)
2021/6/29 9:20:44
本文主要是介绍php图像处理库(intervention/image),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
官网
http://image.intervention.io
安装
composer require intervention/image
用法
//导入autoload.php自动加载 require '../vendor/autoload.php'; //导入ImageManager类 use Intervention\Image\ImageManager; //生成ImageManager对象 $manager = new ImageManager(); //创建新的图像资源 $img = $manager->make('image1.jpeg'); //调整当前图像大小 $img->resize(400,400); //保存生成新图片 $image->save('2.jpg');
接口方法
创建新的图像资源
//创建新的图像资源 $img = $manager->make('image1.jpeg');
创建画布资源
//创建画布资源 $img = $manager->canvas(500, 500, '#fff');
操作图片
//调整当前图像大小 $img->resize(400,400); //模糊效果 0-100 越大越模糊 $img->blur(80); //图片亮度调节 -100至100 暗>亮 $img->brightness(-80); //图片的三原色调整(red,green,blue)-100 至 100 $img->colorize(-50, 50, -50); //图片对比度调整(-100 至 100) $img->contrast(10); //图片裁剪(x,y左边起点,width,height) $img->crop(200, 200, 10, 10); //水平翻转和垂直翻转 $img->flip('h'); $img->flip('v'); //填充颜色或图片 $img->fill('#cccccc'); $img->fill('walter.jpeg'); //按比例裁剪并重新设置宽高 $img->fit(200, 100); $img->fit(200); //图片gamma 光照效果调整 $img->gamma(20); //图片灰色调 $img->greyscale(); //将当前图像调整为新高度,宽度比例缩放 $img->heighten(400); //按width比例裁剪 $img->widen(300); //插入其他图片 $img->insert('walter.jpeg'); //插入调整后的图片 $watermark = $manager->make('walter.jpeg')->resize(50,50)->opacity(20); $img->insert($watermark, 'bottom-right',10,10); //图片反色调整 $img->invert(); //设置最大颜色数 $img->limitColors(50, '#ff9900'); //图像的不透明度 $img->opacity(50); //像素化图像(马赛克效果) $img->pixelate(5); //旋转图片 $img->rotate(-45); //锐化图片 0-100 $img->sharpen(90);
画各种图形
//绘制单个像素 $img->pixel('#000000', 10, 10); //画线 $img->line(10, 10, 200, 200, function ($draw) { $draw->color('#000000'); }); //画圆形 $img->circle(100, 200, 200, function ($draw) { $draw->background('#000033');//背景颜色 $draw->border(5, '#000');//边线大小和颜色 }); //画椭圆 $img->ellipse(100, 40, 100, 100, function ($draw) { $draw->background('#0000ff');//背景颜色 $draw->border(1, '#ff0000');//边线大小和颜色 }); //画长方形 $img->rectangle(5, 5, 195, 195, function ($draw) { $draw->background('rgba(255, 255, 255, 0.5)'); $draw->border(2, '#000'); }); //画多边形 $points = array( 40, 50, // Point 1 (x, y) 20, 240, // Point 2 (x, y) 60, 60, // Point 3 (x, y) 240, 20, // Point 4 (x, y) 50, 40, // Point 5 (x, y) 10, 10 // Point 6 (x, y) ); $img->polygon($points, function ($draw) { $draw->background('#0000ff'); $draw->border(1, '#ff0000'); });
获取图片相关信息
//获取图片宽度 $width = $img->width(); var_dump($width);exit; //获取MIME类型 $mime = $img->mime(); var_dump($mime);exit; //从当前图像读取IPTC元数据 $iptc = $img->iptc(); echo "<pre>"; var_dump($iptc);exit; //获取图片高度 $height = $img->height(); var_dump($height);exit; //图片编码(jpg,png,gif,data-url等) $data = (string) $img->encode('data-url'); $html =<<<EOF <img src="{$data}"/> EOF; echo $html; //读取图片信息 $data = $img->exif(); echo "<pre>"; var_dump($data); //获取图片大小 $size = $img->filesize(); var_dump($size); int(719040)
输出图片资源
//手动输出到浏览器 header('Content-Type: image/jpeg'); echo $img->encode('jpeg'); //HTTP响应,输出到浏览器 echo $img->response(); //保存生成新图片 $image->save('2.jpg');
其他操作
//创建编码图像流 $stream = $img->stream('jpg', 60); var_dump($stream);exit; //将文本写入图像 $img->text('The quick brown fox jumps over the lazy dog.',50,50); $text = "Write text to an image"; $img->text($text, 200, 100, function($font) { $font->file("./Lato-Light.ttf"); $font->size(24); $font->color('#fdf6e3'); $font->align('center'); $font->valign('top'); $font->angle(45); }); //释放内存 $img->destroy();
这篇关于php图像处理库(intervention/image)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享