PHP图片处理库Grafika详细教程(2):图像特效处理模块

该文章是接着上篇文章《PHP图片处理库Grafika详细教程(1):图像基本处理》,由于grafika功能太多,所以分开写,其他的点击这里

《1、图像基本处理》

《2、图像特效处理模块》

《3、图像属性处理》

《4、图形绘制》

我们开门见山,直接继续上实例,详细了解点击上面链接

图片过滤、滤镜

grafika提供了11种滤镜功能,可以满足开发中的任何情况需求。

这里先介绍一个操作方法:apply:它可以将滤镜效果应用到图片

图片模糊

使用Blur参数,模糊化一张图片

其中模糊度取值范围为0-100,数值越大,图片越模糊


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Blur', 50); // 模糊度为10,模糊度取值为0-100 
  5. $editor->apply( $image, $filter ); // 将滤镜应用到图片 
  6. $editor->save($image,'yanying-blur.jpg');  

我们将图片模糊参数调为50

图片亮度调整

使用Brightness,加亮或者变暗图片

其中亮度值取值范围为

  • -100 至 -1,变暗
  • 0 图片没有变化
  • 1-100图片变量 

  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Brightness', -50); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Brightness-1.jpg');   

改变图片颜色

使用Colorize参数,调整图片的红绿蓝三个基础色来改变图片颜色

颜色参数(红色、绿色、蓝色取值范围相同)

  • 取值-100至-1,颜色减少;
  • 如果为0表示不变;
  • 取值1-100,表示色值增加 

  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Colorize', -50,50,-50); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Colorize.jpg');   

改变图片对比度

使用Contrast参数可以改变图片的对比度

对比度的取值和之前的也差不多,-100至-1,对比度减少;0不变;1至100,对比度增加

具体什么叫对比度,自行百度,我也不是太清楚,毕竟不是搞设计的


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Contrast', 50); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Contrast.jpg');   

图像噪点

使用Dither来给图像添加噪点,其参数取值只有两个diffusion:扩散;ordered:规整的


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Dither', 'diffusion'); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Dither-diffusion.jpg');   

图像色阶调整

Gamma这个参数在平时是不常用的,只有在专业的图像领域才会使用。可以理解为色阶,是灰阶亮度值与灰阶等级之间的数学关系。

这里的Gamma功能是校正图像色阶,使得图像看起来颜色更加正确

这里的数字值取值范围只有最小值没有最大值只要 >=1.0都可以


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Gamma', 2.0); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Gamma.jpg'); 

图片灰度

使用Grayscale使图片所有的色彩丢弃,只保留黑白两种颜色,没有取值。


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Grayscale'); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Grayscale.jpg');   

图像反色处理

图像反色,也就是弄得和胶片似得。

使用Invert参数可以达到图像反色效果,也没有可选值


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Invert'); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Invert.jpg');   

图片像素化、栅格化

就是把矢量图形转换成像素点组成的点阵图形,也叫栅格化。搞ps的应该都清楚

该参数有个取值范围只要大于或者等于1就可以,如果值越大,像素点也就越大


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Pixelate',10); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Pixelate-10.jpg');  

我们取值5和取值10对比下

图片锐化

图片锐化就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。

使用参数Sharpen可以处理锐化,其取值为1-100(包含)。


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Sharpen',50); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Sharpen.jpg');  

我们取值50,看下效果

图像查找边缘

通过数学计算检测出图像的边缘,在ps中较为常用。

这里使用Sobel参数达到相同效果,没有值可选


  1. use Grafika\Grafika; 
  2. $editor = Grafika::createEditor(); 
  3. $editor->open( $image, 'yanying-smaller.jpg' ); 
  4. $filter = Grafika::createFilter('Sobel'); 
  5. $editor->apply( $image, $filter ); 
  6. $editor->save($image,'333/yanying-Sobel.jpg');   

作者:星空幻颖

来源:51CTO

时间: 2024-10-24 11:31:38

PHP图片处理库Grafika详细教程(2):图像特效处理模块的相关文章

PHP图片处理库Grafika详细教程(3):图像属性处理

该文章是接着上篇文章,<PHP极其强大的图片处理库Grafika详细教程(2):图像特效处理模块>,由于grafika功能太多,所以分开写,其他的点击这里 <1.图像基本处理> <2.图像特效处理模块> <3.图像属性处理> <4.图形绘制> 该文章主要写grafika的图像属性处理功能,共7个方法. 1.图片格式化为二进制格式输出 该方法的作用是打开一张图片,然后格式化为二进制数据,直接输出到浏览器,而不是传统的src显示图片. 其有一个参数,

PHP图片处理库Grafika详细教程(1):图像基本处理

Grafika是一个PHP图像处理库,是基于Imagick和GD,可以用于改变图片大小,剪裁,比较,添加水印等等功能.还有感知哈希,高级图像过滤,绘制贝塞尔曲线等功能,可谓非常强大. 由于功能太多,所以分成几篇文章写. <1.图像基本处理> <2.图像特效处理模块> <3.图像属性处理> <4.图形绘制> 优点: 缩略图的速度非常快,质量非常高 支持智能剪裁 很好的支持GIF图片 5种缩略图模式 图像对比功能 图像高级过滤功能 图像混合 其他图像处理库支持的

Mac OS下为Android Studio编译FFmpeg解码库的详细教程_Android

NDK部分 1.下载ndk这里就一笔带过了. 2.解压ndk不要解压,文件权限会出错.执行之,会自动解压,然后mv到想放的地方.我放到了"/usr/local/bin/android-ndk-r10d"(此目录之后用$NDK_DIR指代). 3.下载Ffmpeg我下的是2.5.3版本. 4.解压Ffmpeg解压Ffmpeg到$NDK_DIR/sources/ffmpeg-2.5.3. 5.修改Ffmpeg编译配置在ffmpeg-2.5.3目录下把configure文件中的这几行,目的是

Mac OS下为Android Studio编译FFmpeg解码库的详细教程

NDK部分 1.下载ndk 这里就一笔带过了. 2.解压ndk 不要解压,文件权限会出错.执行之,会自动解压,然后mv到想放的地方.我放到了"/usr/local/bin/android-ndk-r10d"(此目录之后用$NDK_DIR指代). 3.下载Ffmpeg 我下的是2.5.3版本. 4.解压Ffmpeg 解压Ffmpeg到$NDK_DIR/sources/ffmpeg-2.5.3. 5.修改Ffmpeg编译配置 在ffmpeg-2.5.3目录下把configure文件中的这几

生产库自动化MySQL5.6安装部署详细教程_Mysql

自动化运维是一个DBA应该掌握的技术,其中,自动化安装数据库是一项基本的技能,本文中的安装脚本已通过测试,作为生产库来说没有问题,鉴于每个公司存储规划要求不同,可以按需自行修改脚本. 脚本中已经注释说明一些基本的安装信息 本脚本默认启用5.6部分新特性 innodb_buffer_pool_dump_at_shutdown=1 它dump的不是数据,是Id号 innodb_buffer_pool_load_at_startup=1 开启这个两个参数当数据库重启后把这些热数据重新加载回去 只有正常

PHOTOSHOP绘制卡通人物详细教程

教程 这次抽空写了一个"PHOTOSHOP 绘制卡通人物详细教程",步骤比较详细.图片参考一个活泼可爱的卡通形象.希望本教程对鼠绘爱好者有所帮助. 完成图如下: 首先设置画笔如下: 在电脑上用鼠标直接起稿(可以在纸上起稿再扫描) 选择钢笔工具然后新建图层:   用钢笔勾出选区然后填充:    注意分层填充身体各部位:        水的作法很简单,用画画笔画一些小短线,然后拉长,在边缘擦一擦.       开始画眼睛了,作法和上面一样.填充以后选择深一点的颜色用路径描边.       

超赞的动手创建JavaScript框架的详细教程

  这篇文章主要介绍了动手创建JavaScript框架的详细教程,包括DOM和各种属性的调试等各个方面,超级推荐!需要的朋友可以参考下 觉得Mootools不可思议?想知道Dojo是如何实现的?对JQuery的技巧感到好奇?在这篇教程里,我们将探寻框架背后的秘密,然后试着自己动手建立一个你所喜爱的框架的简易版本. 我们几乎每天都在使用各种各样的JavaScript框架.当你刚入门的时候,方便的DOM(文档对象模型)操作让你觉得JQuery这样的东西非常棒.这是因为:首先,对于新手来说DOM太难理

[Oracle] Data Guard CPU/PSU补丁安装详细教程

以下是对Data Guard CPU/PSU补丁安装的方法进行了详细的分析介绍,需要的朋友可以参考下   非Data Guard的补丁安装教程可参考<[Oracle] CPU/PSU补丁安装详细教程>,Data Guard需要Primary和Standby同时打上补丁,所以步骤更复杂一些,其主要步骤如下: 1.在Primary停止日志传输服务: 2.关闭Standby数据库,在Standby的软件上打补丁(注意:不需要为Standby数据库打补丁),启动standby为mount状态,不启用m

PhotoShop给MM头像转手绘详细教程

教程是给MM头像转手绘详细教程,我也在是不断的摸索学习中,将我的一些心得写出来与大家分享,不知道 能不能帮到大家,转手绘只适合有一定PS基础的人,如果你连新建图层.工具等在哪儿这些都还不知道的话, 我不建议你看这教程. 原图 效果图 1.打开原图,复制一层 2.先给人物磨皮,我用Topaz Denoise 3磨的,要的话可以去这里下载:http://www.3lian.com/psd/ps/ps3/ 3.图片放大,用套索工具勾出嘴唇,看不清的话先将副本眼睛隐藏,在原图基础上勾,不用完全精确. 分