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

相关文章
|
4月前
|
应用服务中间件 PHP nginx
|
1月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
7月前
|
关系型数据库 MySQL Linux
百度搜索:蓝易云【Centos8 stream系统编译安装PHP教程。】
以上是在CentOS 8 Stream系统上编译安装PHP的基本教程。请注意,具体的配置和参数可能因您的需求而有所不同,您可以根据自己的情况进行调整。同时,请确保在执行任何操作之前备份重要的文件和配置。
223 0
|
4月前
|
存储 JavaScript 前端开发
百度搜索:蓝易云【php设置和获取Cookie教程。】
需要注意的是,为了确保在向浏览器发送任何输出之前设置Cookie,应该在 `<html>`标签之前或PHP脚本的顶部设置Cookie。
73 0
|
4月前
|
应用服务中间件 Linux PHP
百度搜索:蓝易云【在centos中配置nginx+php的环境教程。】
请注意,上述步骤是基本的配置指南,实际操作中可能会有特定的需求和配置。建议参考Nginx和PHP官方文档或其他详细教程以获得更全面和准确的信息。
43 0
|
4月前
|
数据采集 监控 JavaScript
巧用简单工具:PHP使用simple_html_dom库助你轻松爬取JD.com
本文将介绍如何使用PHP语言和一个简单的第三方库simple_html_dom来爬取JD.com的商品信息。simple_html_dom是一个轻量级的HTML解析器,它可以方便地从HTML文档中提取元素和属性,而无需使用正则表达式或DOM操作。本文将通过一个实例来展示如何使用simple_html_dom库来爬取JD.com的商品名称、价格、评分和评论数,并将结果保存到CSV文件中。本文还将介绍如何使用代理IP技术来避免被目标网站封禁或限制。
巧用简单工具:PHP使用simple_html_dom库助你轻松爬取JD.com
|
5月前
|
开发框架 JavaScript Java
推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言
推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言
41 0
|
7月前
|
缓存 Linux 应用服务中间件
百度搜索:蓝易云【Linux系统PHP性能优化详细教程。】
请注意,PHP性能优化是一个复杂的过程,需要根据具体的应用程序和服务器环境进行调整。建议在进行任何更改之前,备份配置文件并进行性能测试。
208 0
|
7月前
|
Ubuntu PHP Apache
百度搜索:蓝易云【Ubuntu 18.04系统编译安装PHP教程。】
现在,您已经成功地在Ubuntu 18.04上编译和安装了PHP 7.4,并将其与Apache集成。请注意,这只是基本的安装过程,您可能需要根据自己的需求进一步配置和调整PHP。确保在实际操作中根据您的需求进行适当的配置和保护。
203 0