搜尋
首頁後端開發php教程透過php 中的imagemagick來實現舊照片效果

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="/static/imghwm/default1.png"  data-src="&#39;.basename($source).&#39;"  class="lazy"   alt="透過php 中的imagemagick來實現舊照片效果" ></p>&#39;;echo &#39;<p>效果图</p>&#39;;echo &#39;<p><img  src="/static/imghwm/default1.png"  data-src="&#39;.basename($dest).&#39;"  class="lazy"   alt="透過php 中的imagemagick來實現舊照片效果" ></p>&#39;;?>


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

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

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

相關推薦:

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

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

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

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
絕對會話超時有什麼區別?絕對會話超時有什麼區別?May 03, 2025 am 12:21 AM

絕對會話超時從會話創建時開始計時,閒置會話超時則從用戶無操作時開始計時。絕對會話超時適用於需要嚴格控制會話生命週期的場景,如金融應用;閒置會話超時適合希望用戶長時間保持會話活躍的應用,如社交媒體。

如果會話在服務器上不起作用,您將採取什麼步驟?如果會話在服務器上不起作用,您將採取什麼步驟?May 03, 2025 am 12:19 AM

服務器會話失效可以通過以下步驟解決:1.檢查服務器配置,確保會話設置正確。 2.驗證客戶端cookies,確認瀏覽器支持並正確發送。 3.檢查會話存儲服務,如Redis,確保其正常運行。 4.審查應用代碼,確保會話邏輯正確。通過這些步驟,可以有效診斷和修復會話問題,提升用戶體驗。

session_start()函數的意義是什麼?session_start()函數的意義是什麼?May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

為會話cookie設置httponly標誌的重要性是什麼?為會話cookie設置httponly標誌的重要性是什麼?May 03, 2025 am 12:10 AM

設置httponly標誌對會話cookie至關重要,因為它能有效防止XSS攻擊,保護用戶會話信息。具體來說,1)httponly標誌阻止JavaScript訪問cookie,2)在PHP和Flask中可以通過setcookie和make_response設置該標誌,3)儘管不能防範所有攻擊,但應作為整體安全策略的一部分。

PHP會議在網絡開發中解決了什麼問題?PHP會議在網絡開發中解決了什麼問題?May 03, 2025 am 12:02 AM

phpsessions solvathepromblymaintainingStateAcrossMultipleHttpRequestsbyStoringDataTaNthEserVerAndAssociatingItwithaIniquesestionId.1)他們儲存了AtoredAtaserver side,通常是Infilesordatabases,InseasessessionIdStoreDistordStoredStoredStoredStoredStoredStoredStoreDoreToreTeReTrestaa.2)

可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具