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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
Jul 02 PHP
php函数连续调用实例分析
Jul 30 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP 类与构造函数解析
Feb 06 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
PHP4与PHP5的时间格式问题
2008/02/17 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
python如何更新包
2020/06/11 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
行政助理求职自荐信
2013/10/26 职场文书
保外就医申请书范文
2015/08/06 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
HTML中的表格元素介绍
2022/02/28 HTML / CSS