首頁  >  文章  >  後端開發  >  如何在PHP中旋轉並儲存影像

如何在PHP中旋轉並儲存影像

coldplay.xixi
coldplay.xixi原創
2020-08-24 09:26:422205瀏覽

在PHP中旋轉並儲存影像的方法:首先使用函數【imagerotate()】用給定角度旋轉影像;然後使用函數【imagejpeg()】輸出圖像到瀏覽器或文件,程式碼為【imagejpeg ( resource $image)】。

如何在PHP中旋轉並儲存影像

【相關學習推薦:php程式設計(影片)】

在PHP中旋轉並儲存影像的方法:

如果你想在PHP中上傳90度或180度旋轉影像,那麼本教學將幫助你。我們將使用imagecreatefrompng(),imagerotate()和imagepng()函數來旋轉png圖像並保存到伺服器,jpeg圖像同理。

如何在PHP中旋轉並儲存影像

在下面的程式碼範例中,我們給大家介紹在PHP中將指定影像旋轉90度後儲存,並重新命名為「myUpdateImage.png」、"myUpdateImage. jpeg"的實作方法。

png範例如下:

<?php
$fileName = "002.png";
    $degrees = 90 ;
    $source = imagecreatefrompng($fileName);
    $rotate = imagerotate ($source,$degrees,0);
    imagepng($rotate,"myUpdateImage.png");
 
    print_r(&#39;图像已成功保存。&#39;);

jpeg範例如下:

<?php
    $fileName = "001.jpeg";
    $degrees = 90;
    
    $source = imagecreatefromjpeg($fileName);
    
    $rotate = imagerotate($source, $degrees, 0);
    imagejpeg($rotate, "myUpdateImage.jpeg");
    print_r(&#39;图像已成功保存。&#39;);
?>

函數介紹:

imagecreatefrompng()函數由檔案或URL 建立一個新圖象。

imagecreatefrompng ( string $filename ) : resource

imagecreatefrompng()返回一圖像標識符,代表了從給定的檔案名稱取得的圖像。

參數filename表示PNG 影像的路徑。傳回值,成功後返回圖象資源,失敗後返回 FALSE 。

1、imagerotate()函數用給定角度旋轉圖像

imagerotate ( resource $image , float $angle , int $bgd_color [, int $ignore_transparent = 0 ] ) : resource

將圖像用給定的 angle 角度旋轉。 bgd_color 指定了旋轉後沒有覆蓋到的部分的顏色。

旋轉的中心是影像的中心,旋轉後的影像會按比例縮小以適合目標影像的大小-邊緣不會被剪去。

參數image表示由圖象建立函數(例如imagecreatetruecolor())傳回的圖象資源。

angle,轉角度為逆時針旋轉影像的角度數。

bgd_color,表示指定旋轉後未覆寫區域的顏色

2、ignore_transparent,如果設為非零值,則透明色會被忽略(否則會被保留)。

傳回值傳迴旋轉後的影像資源, 或在失敗時傳回 FALSE。

3、imagejpeg()函數輸出圖像到瀏覽器或檔案。

imagejpeg ( resource $image [, string $filename [, int $quality ]] ) : bool

imagejpeg()從 image 映像以 filename 為檔案名稱建立 JPEG 影像。

參數image,由圖象建立函數(例如imagecreatetruecolor())傳回的圖象資源。

filename,檔案儲存的路徑,如果未設定或為 NULL,將會直接輸出原始圖象流。如果要省略這個參數而提供 quality 參數,使用NULL。

quality為可選項,範圍從 0(最差質量,檔案更小)到 100(最佳質量,檔案最大)。預設為 IJG 預設的質量值(約 75)。

傳回值,成功時傳回 TRUE, 或失敗時回傳 FALSE。

【相關學習推薦:php圖文教學

以上是如何在PHP中旋轉並儲存影像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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