php利用imagemagick實現(xiàn)復古老照片效果實例
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)復古老照片效果的全部內(nèi)容了,希望本文的內(nèi)容對大家學習或者使用PHP能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
destoon安裝出現(xiàn)Internal Server Error的解決方法
這篇文章主要介紹了destoon安裝出現(xiàn)Internal Server Error的解決方法,需要的朋友可以參考下2014-06-06PHP+jQuery+Ajax實現(xiàn)用戶登錄與退出
本文使用Ajax無刷新登錄和退出,從而提升了用戶體驗。 若用戶為登錄狀態(tài),則顯示用戶相關(guān)登錄信息,否則顯示登錄表單。2015-04-04PHP設計模式入門之狀態(tài)模式原理與實現(xiàn)方法分析
這篇文章主要介紹了PHP設計模式入門之狀態(tài)模式,結(jié)合實例形式分析了PHP狀態(tài)模式基本概念、原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下2020-04-04Zend 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-10mysql alter table命令修改表結(jié)構(gòu)實例詳解
這篇文章主要介紹了mysql alter table命令修改表結(jié)構(gòu)實例的相關(guān)資料,需要的朋友可以參考下2016-09-09