php利用imagemagick實現(xiàn)復(fù)古老照片效果實例
imagemagick介紹
imagemagick是圖片處理軟件,具有強大的圖片處理能力。本文使用PHP調(diào)用imagemagick實現(xiàn)把圖片處理為老照片效果。
imagemagick地址:www.imagemagick.org
imagemagick安裝
需要安裝imagemagick,安裝方法如下:點擊查看
使用imagemagick生成老照片效果,需要執(zhí)行下面幾個步驟
1.將輸入圖像使用sepia-tone濾鏡處理
2.生成一個白色蒙版,填充隨機噪聲,轉(zhuǎn)化為灰度,并加上alpha通道
3.將步驟1和步驟2的結(jié)果使用overlay的方式compose
代碼如下:
<?php
/**
* php 調(diào)用imagemagick實現(xiàn)老照片效果
* Date: 2016-12-31
* Author: fdipzone
* Ver: 1.0
*/
/**
* 調(diào)用imagemagick實現(xiàn)老照片效果
* @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);
// 執(zhí)行命令
exec($cmd);
}
// 原圖
$source = dirname(__FILE__).'/source.jpg';
// 生成效果圖
$dest = dirname(__FILE__).'/dest.jpg';
// 創(chuàng)建效果圖
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>';
?>
原圖與生成的老照片效果對比

總結(jié)
以上就是利用php調(diào)用imagemagick實現(xiàn)復(fù)古老照片效果的全部內(nèi)容了,希望本文的內(nèi)容對大家學(xué)習(xí)或者使用PHP能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
destoon安裝出現(xiàn)Internal Server Error的解決方法
這篇文章主要介紹了destoon安裝出現(xiàn)Internal Server Error的解決方法,需要的朋友可以參考下2014-06-06
PHP+jQuery+Ajax實現(xiàn)用戶登錄與退出
本文使用Ajax無刷新登錄和退出,從而提升了用戶體驗。 若用戶為登錄狀態(tài),則顯示用戶相關(guān)登錄信息,否則顯示登錄表單。2015-04-04
PHP設(shè)計模式入門之狀態(tài)模式原理與實現(xiàn)方法分析
這篇文章主要介紹了PHP設(shè)計模式入門之狀態(tài)模式,結(jié)合實例形式分析了PHP狀態(tài)模式基本概念、原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下2020-04-04
Zend Framework教程之Zend_Layout布局助手詳解
這篇文章主要介紹了Zend Framework教程之Zend_Layout布局助手用法,結(jié)合實例形式詳細分析了Layout布局的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-03-03
在laravel中實現(xiàn)將查詢的對象轉(zhuǎn)換為多維數(shù)組的函數(shù)
今天小編就為大家分享一篇在laravel中實現(xiàn)將查詢的對象轉(zhuǎn)換為多維數(shù)組的函數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
mysql alter table命令修改表結(jié)構(gòu)實例詳解
這篇文章主要介紹了mysql alter table命令修改表結(jié)構(gòu)實例的相關(guān)資料,需要的朋友可以參考下2016-09-09

