资讯专栏INFORMATION COLUMN

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

Scliang / 1390人阅读

摘要:搞的应该都清楚该参数有个取值范围只要大于或者等于就可以,如果值越大,像素点也就越大我们取值和取值对比下图片锐化图片锐化就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。

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

《1、图像基本处理》
《2、图像特效处理模块》
《3、图像属性处理》
《4、图形绘制》

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

图片过滤、滤镜

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

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

图片模糊

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

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

use GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$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 GrafikaGrafika;
$editor = Grafika::createEditor();
$editor->open( $image, "yanying-smaller.jpg" );
$filter = Grafika::createFilter("Sobel");
$editor->apply( $image, $filter );
$editor->save($image,"333/yanying-Sobel.jpg");

严颖,PHP研发工程师

博客:segmentfault主页

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22031.html

相关文章

  • PHP极其强大图片处理Grafika详细教程(3):图像属性处理

    摘要:该文章是接着上篇文章,极其强大的图片处理库详细教程图像特效处理模块,由于功能太多,所以分开写,其他的点击这里图像基本处理图像特效处理模块图像属性处理图形绘制该文章主要写的图像属性处理功能,共个方法图片格式化为二进制格式输出该方法的作用是打开 该文章是接着上篇文章,《PHP极其强大的图片处理库Grafika详细教程(2):图像特效处理模块》,由于grafika功能太多,所以分开写,其他的...

    cyqian 评论0 收藏0
  • PHP极其强大图片处理Grafika详细教程(4):图形绘制

    摘要:查看结果绘制直线绘制直线就稍微简单点儿了。可以使用如下的代码直接创建一个矩形其中的参数第一个为宽度。默认为表示和左上角重叠。 该文章是接着上一篇文章:《PHP极其强大的图片处理库Grafika详细教程(3):图像属性处理》,是grafika教程的一个部分。 所有的教程目录 《1、图像基本处理》《2、图像特效处理模块》《3、图像属性处理》《4、图形绘制》 话不多说,我们接着上实例,要看基...

    why_rookie 评论0 收藏0
  • PHP极其强大图片处理Grafika详细教程(1):图像基本处理

    摘要:它包含所有的图片处理方法。由于,是基于和库,所以使用方法会根据当前情况,自动选择所需要的图片处理库。这里说明下,如果文字为中文,需要找一个支持中文的字体。默认字体不支持中文,所以你写中文,就是都是小方框。 Grafika是一个PHP图像处理库,是基于Imagick和GD,可以用于改变图片大小,剪裁,比较,添加水印等等功能。还有感知哈希,高级图像过滤,绘制贝塞尔曲线等功能,可谓非常强大。...

    fai1017 评论0 收藏0
  • 前端图像处理指南

    摘要:本文会介绍位图处理,矢量图和图像处理,重点是,并且最后会附上一个小应用。以上列举部分,更多备胎在此矢量图处理讲完位图再说矢量图。矢量图在绘制图标商业动画元素上应用非常广范。 计算机图像处理是一门很成熟的技术,任何一门可操作系统接口的语言都能很轻易的实现各种处理操作。但是前端限于浏览器环境和接口限制,处理起来会有诸多不便,这里所说的前端图像处理,是真的指不借助任何后端服务纯前端实现的图像...

    CatalpaFlat 评论0 收藏0

发表评论

0条评论

Scliang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<