PHP基于ImageMagic实现PS正片叠底、滤色等效果
上次通过终端测试PHP是否能够实现PS正片叠底、滤色等效果,具体文章可以查看《Shell命令使用ImageMagic实现PS正片叠底、滤色等效果》
在确定PHP可以实现后,这边查找资料通过PHP程序来实现效果,因为需要实时的合成多张效果图,所以通过终端方法不合适,最终实现方案所下所示:
<?php// 模式类型
$types = ['Normal' => \Imagick::COMPOSITE_DEFAULT, // 正常'Multiply' => \Imagick::COMPOSITE_MULTIPLY, // 正片叠底'Screen' => \Imagick::COMPOSITE_SCREEN, // 滤色'Overlay' => \Imagick::COMPOSITE_OVERLAY, // 叠加'Darken' => \Imagick::COMPOSITE_DARKEN, // 变暗'Lighten' => \Imagick::COMPOSITE_LIGHTEN, // 变亮'ColorDodge' => \Imagick::COMPOSITE_COLORDODGE, // 颜色减淡'ColorBurn' => \Imagick::COMPOSITE_COLORBURN, // 颜色加深'HardLight' => \Imagick::COMPOSITE_HARDLIGHT, // 强光'SoftLight' => \Imagick::COMPOSITE_SOFTLIGHT, // 柔光'Difference' => \Imagick::COMPOSITE_DIFFERENCE, // 差集'Exclusion' => \Imagick::COMPOSITE_EXCLUSION, // 排除'Hue' => \Imagick::COMPOSITE_HUE, // 色相'Saturate' => \Imagick::COMPOSITE_SATURATE, // 饱和度'Colorize' => \Imagick::COMPOSITE_COLORIZE, // 颜色'Luminize' => \Imagick::COMPOSITE_LUMINIZE // 亮度];// 合成数据
$lists = ["title" => "测试","width" => 1920,"height" => 920,"layers" => [["index" => 1,"lists" => [["url" =>"/test/58f235f5-74-1.jpg","left" => 0,"top" => 0,"type" => 40 // 模式:正片叠底、滤色等常量],["url" =>"/test/66fb8712dcec.jpg","left" => 0,"top" => 0,"type" => 29 // 模式:正片叠底、滤色等常量]]]]
];/*** 合并多图* @param array $lists 图层数据*/
public function compositeImg($lists) {// 循环合并多图foreach ($lists as $item) {// 最终是在这一步方法实现的,调用扩展提供的方法,合并两张图片,并指定type混合模式,就是上面的types$imagick->compositeImage(new \Imagick($item['url']), $item['type'], $item['left'], $item['top']);}// 输出画板$path = "/test/{$data['info']['title']}.png"$output = public_path() . "{$path}";// 判断文件夹是否存在$dir = public_path() . "test";if (!is_dir($dir)) {mkdir($dir,0777,true);}// 合成图片$result = $imagick->writeImage($output);return $output;
}
以下为部分混合模式生成的效果图:
排除模式
滤色模式
颜色淡减模式
色相模式
强光模式
柔光模式
PHP基于ImageMagic实现PS正片叠底、滤色等效果相关推荐
- Shell命令使用ImageMagic实现PS正片叠底、滤色等效果
以下为支持的部分效果, 想要输出对应的效果需求修改命令中compose后的运算符内容: 1.正片叠底-Multiply 2.滤色-Screen 3.叠加-Overlay 4.变暗-Darken 5.变 ...
- 基于OpenGL实现PS部分混合模式
混合模式介绍 1.什么是混合模式? 为了让不同色彩的图片叠加后能够实现更多种色彩组合,从而渲染出各式各样的画面,PS 提供了各式各样规则的混合模式(这里就不具体一一介绍了,提供一个传送门,有兴趣的可自 ...
- 基于PTGui和Ps 有手和低端手机就能拼接生成一张酷酷VR720°商用全景图
基于PTGui和Ps 有手和低端手机就能拼接生成一张酷酷VR720°商用全景图 文章目录 基于PTGui和Ps 有手和低端手机就能拼接生成一张酷酷VR720°商用全景图 第一步:下载软件收藏页面 第二 ...
- ps怎么制作流体_ps相框制作教程:ps怎么制作相框效果
今天分享ps相框制作教程:ps怎么制作相框效果,平常看到很多人在秀朋友圈时候,能把照片填充一个相框,让照片瞬间高大上,ps相框制作教程:ps怎么制作相框效果给大家安排上,作为我的粉丝不用羡慕其他人 ...
- 【jquery】基于 jquery 实现 ie 浏览器兼容 placeholder 效果
placeholder 是 html5 新增加的属性,主要提供一种提示(hint),用于描述输入域所期待的值.该提示会在输入字段为空时显示,并会在字段获得焦点时消失.placeholder 属性适用于 ...
- python图片马赛克_Python实现PS滤镜中马赛克效果示例
本文实例讲述了Python实现PS滤镜中马赛克效果.分享给大家供大家参考,具体如下: 这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如 ...
- android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法
本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法.分享给大家供大家参考,具体如下: 1.xml布局模板 android:id="@+id/local ...
- html如何添加时钟效果,基于HTML5+CSS3实现简单的时钟效果
目的: 利用html5,css实现钟摆效果 知识点: 1) 利用position/left/top和calc()实现元素的水平和垂直居中: 2) 利用CSS3的animation/transform/ ...
- 基于大佬的代码实现看板娘效果(三段代码实现)
基于大佬的代码实现看板娘效果(三段代码实现) 这是鄙人的第一篇博客日记,虽然也是用的他人的代码.这里附上原文地址https://www.cnblogs.com/liuzhou1/p/10813828. ...
最新文章
- Tengine MLOps概述
- 基于单片机的超市储物柜设计_657【毕设课设】基于单片机智能存柜储物柜存储柜系统设计...
- 漫画 | 辞职前与老板的最后一次谈话有哪些禁忌?
- 像DW的应用源格式那样格式化VS里面的代码
- MongoDB 分片的原理、搭建、应用
- 单片机外部中断实验C语言程序,STC89C52单片机外部中断0实验
- ul 原点显示_html ul li在div里圆点靠左对齐
- gittrack_Git 分支跟踪详解(remote branch tracking)
- Eclipse中ICTCLAS 2011 的java调用
- python中threading模块_举例详解Python中threading模块的几个常用方法
- 火山PC模拟鼠标操作
- 关于苹果投资滴滴背后的三点疑问
- 共享文件夹----详细教程
- flink kafka addSource(comsumer ) 源码学习笔记
- maven 出现:Failed to execute goal on project...Could not resolve dependencies for project
- php一点通,编程一点通app下载-编程一点通安卓版下载v1.0.1-游迅网
- Oracle-索引、视图
- python绘制蟒蛇_Python基本图形绘制——蟒蛇绘制
- gcc 查看默认的编译标准
- 计算机教育学专业考研科目,计算机考研科目和专业
热门文章
- 查询时隐藏部分身份证号
- python 微服务架构实战_名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)...
- 2022-2028全球与中国在线招聘软件市场现状及未来发展趋势
- Nacos服务自动关闭问题汇总
- 解释一下黑洞与弦理论
- java 自定义标签继承_JSP继承TagSupport如何开发带属性的自定义标签
- 影子系统PowerShadow原理研究
- 蔡高厅高等数学32-函数的微分
- 超精美!10款专业的高质量名片设计模板
- 新手终极宝典nbsp;iTunes使用教程精华大全