LifeType 中文開發論壇

測試 => LifeType 1.1 測試 => 主題作者是: hsuzy 於 九月 17, 2006, 03:29:02 上午



主題: 縮圖的比例問題 ... 1.1版
作者: hsuzy九月 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
而長的那邊被裁剪, 我的需求是等比例, 不知道我哪裡設定有問題

謝謝


主題: Re: 縮圖的比例問題 ... 1.1版
作者: hsuzy九月 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;
            }
*/
        }


主題: Re: 縮圖的比例問題 ... 1.1版
作者: lss九月 18, 2006, 11:03:16 下午
hi hsuzy:

真是謝謝你的分享  :-)

能麻煩你到[http://bugs.lifetype.org.tw]臭蟲追蹤系統[/url]去回報嗎?這樣可以讓開發團隊在推出 1.1.1 時不會漏掉這個 bug 。

lss


主題: Re: 縮圖的比例問題 ... 1.1版
作者: hsuzy九月 19, 2006, 01:20:53 上午
lss 你好阿,

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

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

不過我的英文書寫有問題 XD