(進階篇) php影像處理函數與程式碼範例
一、建立圖片資源
imagecreatetruecolor(width,height); imagecreatefromgif(图片名称); imagecreatefrompng(图片名称); imagecreatefromjpeg(图片名称);画出各种图像 imagegif(图片资源,保存路径); imagepng() imagejpeg();
二、取得圖片屬性
imagesx(res//寬度
imagesy(res//高度
getimagesize(檔案路徑)
傳回一個具有四個單元的陣列。的像素值,索引1 包含影像高度的像素值。 byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。 .0 新加的IMAGETYPE 常數對應。
三、透明處理
PNG、jpeg透明色都正常,只有gif不正常
imagecolortransparent(resource image [,int color])//将某个颜色设置成透明色 imagecolorstotal() imagecolorforindex();
四、圖片的裁剪
imagecopyresized() imagecopyresampled();
五、加浮水印(文字、圖片)
字符串編碼 string iconv (string $iconv in_charset , string $out_charset , string $str )
六、圖片旋轉
imagerotate();//制定角度的圖片翻轉
七、圖片的翻轉
沿X軸沿Y軸翻轉
七、圖片的翻轉
沿X軸沿Y軸翻轉
、銳化
、銳化
imagecolorsforindex() imagecolorat()
在圖片上繪製圖形 $img=imagecreatefromgif("./images/map.gif");.程式碼如下:
<?PHP /** * 图片锐化处理 */ $red= imagecolorallocate($img, 255, 0, 0); imageline($img, 0, 0, 100, 100, $red); imageellipse($img, 200, 100, 100, 100, $red); imagegif($img, "./images/map2.gif"); imagedestroy($img);
、未處理透明色
代碼如下:
$filename="./images/hee.jpg"; $per=0.3; list($width, $height)=getimagesize($filename); $n_w=$width*$per; $n_h=$width*$per; $new=imagecreatetruecolor($n_w, $n_h); $img=imagecreatefromjpeg($filename); //拷贝部分图像并调整 imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height); //图像输出新图片、另存为 imagejpeg($new, "./images/hee2.jpg"); imagedestroy($new); imagedestroy($img);
gif透明色處理
代碼如下:
function thumn($background, $width, $height, $newfile) { list($s_w, $s_h)=getimagesize($background);//获取原图片高度、宽度 if ($width && ($s_w < $s_h)) { $width = ($height / $s_h) * $s_w; } else { $height = ($width / $s_w) * $s_h; } $new=imagecreatetruecolor($width, $height); $img=imagecreatefromjpeg($background); imagecopyresampled($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h); imagejpeg($new, $newfile); imagedestroy($new); imagedestroy($img); } thumn("images/hee.jpg", 200, 200, "./images/hee3.jpg");
rr
.程式碼如下:
function thumn($background, $width, $height, $newfile) { list($s_w, $s_h)=getimagesize($background); if ($width && ($s_w < $s_h)) { $width = ($height / $s_h) * $s_w; } else { $height = ($width / $s_w) * $s_h; } $new=imagecreatetruecolor($width, $height); $img=imagecreatefromgif($background); $otsc=imagecolortransparent($img); if($otsc >=0 && $otst < imagecolorstotal($img)){//判断索引色 $tran=imagecolorsforindex($img, $otsc);//索引颜色值 $newt=imagecolorallocate($new, $tran["red"], $tran["green"], $tran["blue"]); imagefill($new, 0, 0, $newt); imagecolortransparent($new, $newt); } imagecopyresized($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h); imagegif($new, $newfile); imagedestroy($new); imagedestroy($img); } thumn("images/map.gif", 200, 200, "./images/map3.gif");
圖片旋轉
.程式碼如下:
<?php /** * 图片裁剪处理 * edit by www.jbxue.com */ function cut($background, $cut_x, $cut_y, $cut_width, $cut_height, $location){ $back=imagecreatefromjpeg($background); $new=imagecreatetruecolor($cut_width, $cut_height); imagecopyresampled($new, $back, 0, 0, $cut_x, $cut_y, $cut_width, $cut_height,$cut_width,$cut_height); imagejpeg($new, $location); imagedestroy($new); imagedestroy($back); } cut("./images/hee.jpg", 440, 140, 117, 112, "./images/hee5.jpg"); ?>
圖片水平翻轉垂直翻轉
.程式碼如下:
<?PHP /** * * 图片添加文字水印 */ function mark_text($background, $text, $x, $y){ $back=imagecreatefromjpeg($background); $color=imagecolorallocate($back, 0, 255, 0); imagettftext($back, 20, 0, $x, $y, $color, "simkai.ttf", $text); imagejpeg($back, "./images/hee7.jpg"); imagedestroy($back); } mark_text("./images/hee.jpg", "细说PHP", 150, 250); //图片水印 function mark_pic($background, $waterpic, $x, $y){ $back=imagecreatefromjpeg($background); $water=imagecreatefromgif($waterpic); $w_w=imagesx($water); $w_h=imagesy($water); imagecopy($back, $water, $x, $y, 0, 0, $w_w, $w_h); imagejpeg($back,"./images/hee8.jpg"); imagedestroy($back); imagedestroy($water); } mark_pic("./images/hee.jpg", "./images/gaolf.gif", 50, 200); ?>

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
