歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 26, 2024, 03:59:15 上午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  測試  |  LifeType 1.1 測試  |  縮圖的比例問題 ... 1.1版 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 縮圖的比例問題 ... 1.1版  (閱讀 14021 次)
hsuzy
新手見習
*
文章: 41


檢視個人資料
« 於: 九月 17, 2006, 03:29:02 上午 »

以下是我的設定
--
您用來產生縮圖的後端系統。如果使用PHP,GD的支援是必須的。PHP's GD library
在產生預覽縮圖時所使用的預設格式。如果您選擇「與原始影像相同」,那麼預覽縮圖就會儲存成與原始影像相同的格式。與原始影像相同
thumbnail_height: 200
thumbnail_width: 200
medium_size_thumbnail_width: 500
medium_size_thumbnail_height: 500
縮圖是否保持原始比例。:
是否使用演算法來使縮圖畫面更平順。只有當縮圖產生工具是GD時才適用。
PHP ImageCopyResampled
--
結果產生的中圖, 不管是傳 800x600或 600x800 的圖, 都被縮成 500x500
而長的那邊被裁剪, 我的需求是等比例, 不知道我哪裡設定有問題

謝謝
已記錄
hsuzy
新手見習
*
文章: 41


檢視個人資料
« 回覆文章 #1 於: 九月 18, 2006, 06:26:01 下午 »

比對過 1.0.6 和 1.1 ...

如果有跟我相同困擾的人可以以照下面修改

class/gallery/resizers/gallerygdresizer.class.php

只註解掉某段
程式碼:
        function ImageResize($dst_img, &$src_img, $dst_x, $dst_y, $src_x, 
                                   $src_y, $dst_w, $dst_h, $src_w, $src_h,
                                   $resample = GD_RESIZER_NO_SMOOTHING_MODE ) {
           $pxls = intval($src_w / $dst_w)-1;
/*     
           if( $dst_w == $dst_h ) {
    $length = min($src_w, $src_h);
    $src_x = intval( $src_w / 2 ) - intval( $length / 2 );
    $src_y = intval( $src_h / 2 ) - intval( $length / 2 );
    $src_w = $length;
    $src_h = $length;
   }*/

加上 1.0.6的寫法, 註解掉 1.1的
程式碼:
        function calcThumbFormat($width, $height){
            $ratioimg = (float) $this->img["lebar"] / (float) $this->img["tinggi"];
            $ratiothumb=(float) $width / (float) $height;
           //hsuzy. 1.0.6版
            if ($ratioimg == $ratiothumb){
                $this->img["lebar_thumb"]=$width;
                $this->img["tinggi_thumb"]=$height;
            } elseif ($ratioimg > $ratiothumb){
                $this->img["lebar_thumb"]=$width;
                $this->img["tinggi_thumb"]=$width*((float)1/$ratioimg);
            } elseif ($ratioimg < $ratiothumb){
                $this->img["tinggi_thumb"]=$height;
                $this->img["lebar_thumb"]=$height*$ratioimg;
            }
/*
            if ($ratioimg == $ratiothumb || $ratiothumb == (float) 1){
                $this->img["lebar_thumb"]=$width;
                $this->img["tinggi_thumb"]=$height;
            } elseif ($ratioimg > $ratiothumb){
            $length = max($width, $height);
                $this->img["lebar_thumb"]=$length;
                $this->img["tinggi_thumb"]=$length*((float)1/$ratioimg);
            } elseif ($ratioimg < $ratiothumb){
            $length = max($width, $height);
                $this->img["tinggi_thumb"]=$length;
                $this->img["lebar_thumb"]=$length*$ratioimg;
            }
*/
        }
已記錄
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #2 於: 九月 18, 2006, 11:03:16 下午 »

hi hsuzy:

真是謝謝你的分享  微笑

能麻煩你
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
hsuzy
新手見習
*
文章: 41


檢視個人資料
« 回覆文章 #3 於: 九月 19, 2006, 01:20:53 上午 »

lss 你好阿,

可是我覺得這不是 bug ...
只是縮圖強制變成方形的
(雖然是等比例, 不過長邊的會被剪裁, 現在的似乎相簿很流行這樣, 據說是美觀)
我剛好不需要這功能 ...

如果後台多個選項應該是不錯的方法..

不過我的英文書寫有問題 XD
« 最後編輯時間: 九月 19, 2006, 01:22:44 上午 由 hsuzy » 已記錄
頁: [1]
LifeType 中文開發論壇  |  測試  |  LifeType 1.1 測試  |  縮圖的比例問題 ... 1.1版 « 上篇主題 下篇主題 »
    前往: