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 mysql数据库操作类
Jun 04 PHP
改变Apache端口等配置修改方法
Jun 05 PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
php 生成短网址原理及代码
Jan 23 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
浅析Yii2缓存的使用
May 10 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
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
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
通过C++学习Python
2015/01/20 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
法制宣传教育方案
2014/05/09 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
奖励申请报告范文
2015/05/15 职场文书
MySQL常见优化方案汇总
2022/01/18 MySQL