phppng縮略圖,php 縮略圖

本文目錄一覽:

php怎麼生成縮略圖

給你個函數吧

 // *****生成縮略圖*****

     // 只考慮jpg,png,gif格式

     // $srcImgPath 源圖象路徑

     // $targetImgPath 目標圖象路徑

     // $targetW 目標圖象寬度

     // $targetH 目標圖象高度

     function makeThumbnail($srcImgPath,$targetImgPath,$targetW,$targetH)

     {

         $imgSize = GetImageSize($srcImgPath);

         $imgType = $imgSize[2];

         //@ 使函數不向頁面輸出錯誤信息

         switch ($imgType)

        {

            case 1:

                $srcImg = @ImageCreateFromGIF($srcImgPath);

                break;

            case 2:

                $srcImg = @ImageCreateFromJpeg($srcImgPath);

                break;

            case 3:

                $srcImg = @ImageCreateFromPNG($srcImgPath);

                break;

        }

         //取源圖象的寬高

        $srcW = ImageSX($srcImg);

        $srcH = ImageSY($srcImg);

        if($srcW$targetW || $srcH$targetH)

        {

            $targetX = 0;

            $targetY = 0;

            if ($srcW  $srcH)

            {

                $finaW=$targetW;

                $finalH=round($srcH*$finaW/$srcW);

                $targetY=floor(($targetH-$finalH)/2);

            }

            else

            {

                $finalH=$targetH;

                $finaW=round($srcW*$finalH/$srcH);

                $targetX=floor(($targetW-$finaW)/2);

            }

              //function_exists 檢查函數是否已定義

              //ImageCreateTrueColor 本函數需要GD2.0.1或更高版本

            if(function_exists(“ImageCreateTrueColor”))

            {

                $targetImg=ImageCreateTrueColor($targetW,$targetH);

            }

            else

              {

                $targetImg=ImageCreate($targetW,$targetH);

            }

            $targetX=($targetX0)?0:$targetX;

            $targetY=($targetX0)?0:$targetY;

            $targetX=($targetX($targetW/2))?floor($targetW/2):$targetX;

            $targetY=($targetY($targetH/2))?floor($targetH/2):$targetY;

              //背景白色

            $white = ImageColorAllocate($targetImg, 255,255,255);

            ImageFilledRectangle($targetImg,0,0,$targetW,$targetH,$white);

            /*

                   PHP的GD擴展提供了兩個函數來縮放圖象:

                   ImageCopyResized 在所有GD版本中有效,其縮放圖象的算法比較粗糙,可能會導致圖象邊緣的鋸齒。

                   ImageCopyResampled 需要GD2.0.1或更高版本,其像素插值算法得到的圖象邊緣比較平滑,

                                                             該函數的速度比ImageCopyResized慢。

            */

            if(function_exists(“ImageCopyResampled”))

            {

                ImageCopyResampled($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH);

            }

            else

            {

                ImageCopyResized($targetImg,$srcImg,$targetX,$targetY,0,0,$finaW,$finalH,$srcW,$srcH);

            }

              switch ($imgType) {

                case 1:

                    ImageGIF($targetImg,$targetImgPath);

                    break;

                case 2:

                    ImageJpeg($targetImg,$targetImgPath);

                    break;

                case 3:

                    ImagePNG($targetImg,$targetImgPath);

                    break;

            }

            ImageDestroy($srcImg);

            ImageDestroy($targetImg);

        }

         else //不超出指定寬高則直接複製

        {

            copy($srcImgPath,$targetImgPath);

            ImageDestroy($srcImg);

        }

     }

代碼已經測試,成功運行!

生成 PNG 縮略圖背景怎麼透明? – PHP進階討論

nnd,剛才又看錯了,我的透明的地方顯示是白的,還以為正常呢,疏忽!!又仔細看了一下手冊,發現可以用alpha通道來解決透明的問題,於是稍加改動就可以了[php][/php]這樣就可以讓原本透明的部分變透明了,用這種方法生成的png圖像和直接用[i]調用原圖像可以產生完全一樣的效果

PHP略縮圖怎麼顯示出後綴?求助,求助

把這行代碼改了就可以了。

$filePath = $uppath.md5($filename.”image”). ‘.’. strtolower(fileext($_FILES[‘file’][‘name’]));//轉為無圖片後綴的名稱,並加密

php如何實時縮小圖片大小

PHP中縮放圖像:

有兩種改變圖像大小的方法.

(1):ImageCopyResized() 函數在所有GD版本中有效,但其縮放圖像的算法比較粗糙.

(2):ImageCopyResampled(),其像素插值算法得到的圖像邊緣比較平滑.質量較好(但該函數的速度比

ImageCopyResized() 慢).

兩個函數的參數是一樣的.如下:

ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

ImageCopyResized(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);

   它們兩個都是從原圖像(source)中抓取特定位置(sx,sy)複製圖像qu區域到目標t

圖像(destination)的特定位置(dx,dy)。另外dw,dh指定複製的圖像區域在目標圖像上的大小,sw,sh指定從原圖像複製的圖像區域

的大小。如果有ps經驗的話,就相當於在原圖像選擇一塊區域,剪切移動到目的圖像上,同時有拉伸或縮小的操作。

例一:

(本例子是將圖片按原大小的4/1的大小顯示)

?php

// 指定文件路徑和縮放比例

$filename = ‘test.jpg’;

$percent = 0.5;

// 指定頭文件Content typezhi值

header(‘Content-type: image/jpeg’);

// 獲取圖片的寬高

list($width, $height) = getimagesize($filename);

$newwidth = $width * $percent;

$newheight = $height * $percent;

// 創建一個圖片。接收參數分別為寬高,返回生成的資源句柄

$thumb = imagecreatetruecolor($newwidth, $newheight);

//獲取源文件資源句柄。接收參數為圖片路徑,返回句柄

$source = imagecreatefromjpeg($filename);

// 將源文件剪切全部域並縮小放到目標圖片上。前兩個為資源句柄

imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth,

$newheight, $width, $height);

// 輸出給瀏覽器

imagejpeg($thumb);

?

ThinkPhp 生成多張不同尺寸的縮略圖

其實很簡單,那個縮略圖寬度和高度可以定義多個,然後用逗號分割就好了。

//公共上傳

    private function _upload($width, $height, $path, $prefix) {

        import(‘ORG.Net.UploadFile’);

        $upload = new UploadFile(); // 實例化上傳類

        $upload-maxSize = C(‘UPLOAD_SIZE’); // 設置附件上傳大小

        $upload-savePath = ‘./Uploads/’ . $path; // 設置附件上傳目錄

        $upload-allowExts = array(‘jpg’, ‘gif’, ‘png’, ‘jpeg’); // 設置附件上傳類型

        $upload-saveRule = ‘time’;

        $upload-uploadReplace = true; //是否存在同名文件是否覆蓋

        $upload-thumb = true; //是否對上傳文件進行縮略圖處理

        $upload-thumbMaxWidth = $width; //縮略圖處理寬度

        $upload-thumbMaxHeight = $height; //縮略圖處理高度

        $upload-thumbPrefix = $prefix; //縮略圖前綴

        $upload-thumbPath = ‘./Uploads/’ . $path . date(‘Ymd’, time()) . ‘/’; //縮略圖保存路徑

        $upload-thumbRemoveOrigin = true; //上傳圖片後刪除原圖片

        $upload-autoSub = true; //是否使用子目錄保存圖片

        $upload-subType = ‘date’; //子目錄保存規則

        $upload-dateFormat = ‘Ymd’; //子目錄保存規則為date時時間格式

        if (!$upload-upload()) {// 上傳錯誤提示錯誤信息

            echo json_encode(array(‘msg’ = $this-error($upload-getErrorMsg()), ‘status’ = 0));

        } else {// 上傳成功 獲取上傳文件信息

            $info = $upload-getUploadFileInfo();

            $picname = $info[0][‘savename’];

            

            $picname = explode(‘/’, $picname);

            $picname = $picname[0] . ‘/’ . $prefix . $picname[1];

            echo json_encode(array(‘status’ = 1, ‘msg’ = $picname));

            

            

            

            

            

        }

    }

然後你比如生成300*300的的圖片你就定義一個方法

例如: //商品縮略圖上傳

    public function uploadThumb() {

        return $this-_upload(‘230,160’, ‘230,121’, ‘thumb/’, ‘shop_,thumb_’);

    }

然後400*400的就又寫一個方法:

//商品縮略圖上傳

    public function uploadThumb() {

        return $this-_upload(‘400,200’, ‘400,200’, ‘thumb/’, ‘shop_,thumb_’);

    }

然後調用的不同就好了

php怎麼給psd圖片生成縮略圖???

psd是不會通過縮略圖顯示的,用其他能打開它的軟件可以外,其他都是沒法的。你這個php生成縮略圖是在什麼地方生成嘛,在網頁上面的話瀏覽器只支持jpg/gif/png這幾種圖片格式,其他的都是個別支持不通用的。

求採納

原創文章,作者:ANJM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137178.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ANJM的頭像ANJM
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論