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

开发 后端
grafika提供了11种滤镜功能,可以满足开发中的任何情况需求。使用apply参数,滤镜效果应用到图片;使用Blur参数,模糊化一张图片;使用Brightness,加亮或者变暗图片;使用Colorize参数,调整图片的红绿蓝三个基础色来改变图片颜色等。

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

​《1、图像基本处理》​

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

​《3、图像属性处理》​

​《4、图形绘制》​

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

图片过滤、滤镜

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

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

图片模糊

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

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

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

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

​​​​​​​​图片亮度调整

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

其中亮度值取值范围为


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

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

改变图片颜色

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

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


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

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

​​​​​​​​改变图片对比度

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

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

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

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

​​​​​​​​​ 图像噪点

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

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

图像色阶调整

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

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

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

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

​​​​​​​​​ 图片灰度

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

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

​​​​​​​​图像反色处理

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

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

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

​​​​​​​​图片像素化、栅格化

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

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

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

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

图片锐化

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

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

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

我们取值50,看下效果 ​​​​​​​​​ 

图像查找边缘

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

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

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

​​

责任编辑:庞桂玉 来源: segmentfault
相关推荐

2016-11-10 11:55:29

图像分割图像处理php

2016-11-09 18:41:47

PHP图片存储yii

2016-11-10 13:55:29

php图片处理图形

2013-01-04 16:17:33

Android开发图像特效图像处理

2013-04-22 13:57:15

Android图像特效

2010-07-26 15:12:20

坐标变换

2010-03-09 19:19:40

Python图像处理

2009-12-07 17:05:36

PHP函数imaget

2011-06-17 13:18:17

Qt 文件

2011-06-17 13:39:47

Qt 文件

2009-12-11 17:14:43

PHP中文处理函数

2011-11-25 14:20:57

HTML 5

2023-06-27 15:50:23

Python图像处理

2017-11-21 14:14:04

PHPnode.js图片访问

2021-04-14 06:19:29

PythonPillow图片处理模块

2020-05-09 11:15:12

JavaScript图像处理 开源

2020-05-12 11:35:53

JavaScript开源技术

2023-07-26 08:48:36

AForge库.NET

2019-01-04 12:46:03

程序员技能沟通

2020-08-13 08:27:30

图像
点赞
收藏

51CTO技术栈公众号