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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
php2html php生成静态页函数
Dec 08 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
php知道与问问的采集插件代码
Oct 12 PHP
php中如何防止表单的重复提交
Aug 02 PHP
php检测useragent版本示例
Mar 24 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php计算指定目录下文件占用空间的方法
Mar 13 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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/01 无线电
URL Rewrite的设置方法
2007/01/02 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
php自定义hash函数实例
2015/05/05 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
php PDO异常处理详解
2016/11/20 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
AJAX的使用方法详解
2017/04/29 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
使用Python进行目录的对比方法
2018/11/01 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
《识字五》教学反思
2014/03/01 职场文书
社区党建工作方案
2014/06/10 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android