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

5年以前  |  阅读数:560 次  |  编程语言:PHP 

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
贪吃蛇
文件下载
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例