首頁  >  文章  >  後端開發  >  透過php 中的imagemagick來實現舊照片效果

透過php 中的imagemagick來實現舊照片效果

jacklove
jacklove原創
2018-06-20 16:52:321657瀏覽

imagemagick是圖片處理軟體,具有強大的圖片處理能力。本文使用php呼叫imagemagick實作把圖片處理為老照片效果。

imagemagick位址:www.imagemagick.org
需要安裝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 &#39;%s&#39; -sepia-tone &#39;75%%&#39; \( &#39;%s&#39; -fill &#39;#FFFFFF&#39; -colorize &#39;100%%&#39; +noise Random -colorspace gray -alpha on -channel A -evaluate Set 100 \) -compose overlay -composite &#39;%s&#39;", $source, $source, $dest);    // 执行命令
    exec($cmd);

}// 原图$source = dirname(__FILE__).&#39;/source.jpg&#39;;// 生成效果图$dest = dirname(__FILE__).&#39;/dest.jpg&#39;;// 创建效果图createOldPhoto($source, $dest);// 显示原图与效果图比较echo &#39;<meta http-equiv="content-type" content="text/html;charset=utf-8">&#39;;echo &#39;<p>原图</p>&#39;;echo &#39;<p><img  src="&#39;.basename($source).&#39;" alt="透過php 中的imagemagick來實現舊照片效果" ></p>&#39;;echo &#39;<p>效果图</p>&#39;;echo &#39;<p><img  src="&#39;.basename($dest).&#39;" alt="透過php 中的imagemagick來實現舊照片效果" ></p>&#39;;?>


原圖與產生的舊照片效果對比

透過php 中的imagemagick來實現舊照片效果

本文解釋了透過php 中的imagemagick來實現舊照片效果,更多相關內容請關注php中文網。

相關推薦:

如何透過php 計算多個集合的笛卡爾積的相關知識

微信開發的分享介面相關內容

css實作箭頭與缺口提示方塊

以上是透過php 中的imagemagick來實現舊照片效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn