php利用imagemagick实现复古老照片效果实例


Posted in PHP onFebruary 16, 2017

imagemagick介绍

imagemagick是图片处理软件,具有强大的图片处理能力。本文使用PHP调用imagemagick实现把图片处理为老照片效果。

imagemagick地址:www.imagemagick.org

imagemagick安装

需要安装imagemagick,安装方法如下:点击查看

使用imagemagick生成老照片效果,需要执行下面几个步骤

      1.将输入图像使用sepia-tone滤镜处理

      2.生成一个白色蒙版,填充随机噪声,转化为灰度,并加上alpha通道

      3.将步骤1和步骤2的结果使用overlay的方式compose

代码如下:

<?php
/**
 * php 调用imagemagick实现老照片效果 
 * Date: 2016-12-31
 * Author: fdipzone
 * Ver: 1.0
 */

/**
 * 调用imagemagick实现老照片效果
 * @param String $source 原图
 * @param String $dest 目的图
 */
function createOldPhoto($source, $dest){

 // 命令行
 $cmd = sprintf("convert '%s' -sepia-tone '75%%' \( '%s' -fill '#FFFFFF' -colorize '100%%' +noise Random -colorspace gray -alpha on -channel A -evaluate Set 100 \) -compose overlay -composite '%s'", $source, $source, $dest);

 // 执行命令
 exec($cmd);

}

// 原图
$source = dirname(__FILE__).'/source.jpg';

// 生成效果图
$dest = dirname(__FILE__).'/dest.jpg';

// 创建效果图
createOldPhoto($source, $dest);

// 显示原图与效果图比较
echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';
echo '<p>原图</p>';
echo '<p><img src="'.basename($source).'"></p>';

echo '<p>效果图</p>';
echo '<p><img src="'.basename($dest).'"></p>';

?>

原图与生成的老照片效果对比

php利用imagemagick实现复古老照片效果实例

总结

以上就是利用php调用imagemagick实现复古老照片效果的全部内容了,希望本文的内容对大家学习或者使用PHP能带来一定的帮助,如果有疑问大家可以留言交流。

PHP 相关文章推荐
php Smarty date_format [格式化时间日期]
Mar 15 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
php eval函数用法总结
Oct 31 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
PHP基本语法总结
Sep 06 PHP
PHP处理Oracle的CLOB实例
Nov 03 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 PHP
php UNIX时间戳用法详解
Feb 16 #PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 #PHP
php实现文件与16进制相互转换的方法示例
Feb 16 #PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 #PHP
php使用PDO执行SQL语句的方法分析
Feb 16 #PHP
php四种定界符详解
Feb 16 #PHP
php使用PDO获取结果集的方法
Feb 16 #PHP
You might like
压力如何影响浓缩咖啡品质
2021/03/03 咖啡文化
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
CentOS中升级Python版本的方法详解
2017/07/10 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
实用求职信范文分享
2013/12/25 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
医院义诊活动总结
2014/07/04 职场文书
国庆节标语大全
2014/10/08 职场文书
征求意见函
2015/06/05 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
青岛市的收音机研制与生产
2022/04/07 无线电
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android