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

 更新时间:2017年02月16日 11:59:27   作者:傲雪星枫  
imagick是一个PHP的扩展,用ImageMagick提供的API来进行图片的创建与修改,不过这些操作已经包装到扩展imagick中去了,最终调用的是ImageMagick提供的API。这篇文章主要给大家介绍了php利用imagemagick实现复古老照片的效果实例,需要的朋友可以参考下。

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能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • php基础教程

    php基础教程

    PHP是全球范围内应用广泛的开发语言,Web开发的最佳语言; PHP和Linux,Apache,MySQL紧密结合,形成LAMP的开源黄金组合,本文给大家php基础教程,php基础,需要的朋友可以参考下
    2015-08-08
  • php 根据URL下载远程图片、压缩包、pdf等文件到本地

    php 根据URL下载远程图片、压缩包、pdf等文件到本地

    这篇文章主要介绍了php 根据URL下载远程图片、压缩包、pdf等文件到本地 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例

    Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例

    这篇文章主要介绍了Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点,结合实例形式分析了thinkPHP递归遍历与数据查询、排序等相关操作技巧,需要的朋友可以参考下
    2020-04-04
  • ThinkPHP的URL重写问题

    ThinkPHP的URL重写问题

    ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。在使用过程中我们经常需要去掉URL路径中的index.php,因为带着真的很别扭。那么我们来解决下这个问题
    2014-06-06
  • PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)

    PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)

    这篇文章主要介绍了PHP数组遍历知识汇总,本文包含3种遍历方法、7个数组指针操作函数、对3种数组遍历的速度测试等内容,需要的朋友可以参考下
    2014-07-07
  • PHP用正则匹配form表单中所有元素的类型和属性值实例代码

    PHP用正则匹配form表单中所有元素的类型和属性值实例代码

    这篇文章主要介绍了PHP用正则匹配form表单中所有元素的类型和属性值的方法,文中给出了完整的实例代码,大家可以直接参考学习,下面来一起看看吧。
    2017-02-02
  • thinkphp普通查询与表达式查询实例分析

    thinkphp普通查询与表达式查询实例分析

    这篇文章主要介绍了thinkphp普通查询与表达式查询,以实例形式较为详细的分析了thinkphp中的普通查询与表达式查询具体用法,包含普通查询的字符串方式与数组方式以及表达式查询中的各种常用技巧,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • Yii 2.0在Grid中格式化时间方法示例

    Yii 2.0在Grid中格式化时间方法示例

    这篇文章主要跟大家分享了Yii 2.0在Grid中格式化时间的相关资料,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Yii框架where查询用法实例分析

    Yii框架where查询用法实例分析

    这篇文章主要介绍了Yii框架where查询用法,结合实例形式分析了Yii框架查询中where的相关使用技巧与操作注意事项,需要的朋友可以参考下
    2019-10-10
  • php 运算符与表达式详细介绍

    php 运算符与表达式详细介绍

    运算符和表达式是php学习中最基础的知识,本文章通过实例向大家讲解一下运算符和表达式在php中的一些应用和技巧,以及需要注意的地方,需要的朋友可以参考一下。
    2016-11-11

最新评论