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截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
smarty section简介与用法分析
Oct 03 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
php删除文件夹及其文件夹下所有文件的函数代码
Jan 23 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
php实现删除空目录的方法
Mar 16 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 PHP
Laravel 自带的Auth验证登录方法
Sep 30 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
php动态变量定义及使用
2015/06/10 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
javascript实现日历效果
2019/06/17 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
python将unicode和str互相转化的实现
2020/05/11 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
远程调用的原理
2014/07/05 面试题
学生手册家长评语
2014/02/10 职场文书
班长演讲稿范文
2014/04/24 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
个园导游词
2015/02/04 职场文书