ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 6997


Ignore:
Timestamp:
May 7, 2008, 3:14:32 AM (12 years ago)
Author:
ebihara
Message:

キャッシュの出力先の決定に誤りがあったのを修正
(これでGDに関してはすべてのテストをパスするようになった)

Location:
OpenPNE/branches/work/ebihara/prj_renew_OpenPNE_Img/webapp/lib/OpenPNE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/ebihara/prj_renew_OpenPNE_Img/webapp/lib/OpenPNE/Img.php

    r6956 r6997  
    6464        $this->generator->setImageSize($width, $height);
    6565
     66        if (!empty($vars['filename'])) {
     67            $this->setFilename($vars['filename']);
     68        }
     69
    6670        if (!empty($vars['f'])) {
    6771            $this->generator->setOutputFormat($vars['f']);
    68         }
    69 
    70         if (!empty($vars['filename'])) {
    71             $this->setFilename($vars['filename']);
     72        } else {
     73            $this->generator->setOutputFormat();
    7274        }
    7375    }
     
    8284        if (!preg_match('/[^\.\w]/', $filename)) {
    8385            $this->filename = $filename;
     86
     87            $pieces = explode('.', $filename);
     88            $this->generator->setSourceFormat($this->generator->checkFormatString(array_pop($pieces)));
    8489        }
    8590    }
  • OpenPNE/branches/work/ebihara/prj_renew_OpenPNE_Img/webapp/lib/OpenPNE/Img/Generator.php

    r6957 r6997  
    1818
    1919    var $source_format;
    20     var $output_format = 'jpg';
     20    var $output_format;
    2121
    2222    var $cache_dir;
     
    103103    {
    104104        if ($this->getOutputFormat() == 'png') {
    105             $this->createCache($raw_img);
     105            $gdimg = imagecreatefromstring($raw_img);
     106            $this->createCache($gdimg);
    106107        } else {
    107108            $handle = fopen($this->cache_fullpath, 'wb');
     
    183184    function setCacheFileName($filename)
    184185    {
    185         $pieces = explode('.', $filename);
    186         $this->setSourceFormat($this->checkFormatString(array_pop($pieces)));
    187 
    188186        $prefix = OPENPNE_IMG_CACHE_PREFIX;
    189187
    190188        $format = $this->getOutputFormat();
    191189        $file = $prefix . str_replace('.', '_', $filename) . '.' . $format;
    192         $path = sprintf('%s/w%d_h%d/%s', $format, $this->width, $this->height, $file);
     190        if ($this->width && $this->height) {
     191            $path = sprintf('%s/w%d_h%d/%s', $format, $this->width, $this->height, $file);
     192        } else {
     193            $path = sprintf('%s/w_h/%s', $format, $file);
     194        }
    193195
    194196        $this->cache_fullpath = $this->cache_dir . '/' . $path;
     
    243245    function getOutputFormat()
    244246    {
    245         return $this->checkFormatString($this->output_format);
     247        if ($this->output_format) {
     248            return $this->checkFormatString($this->output_format);
     249        }
     250
     251        return $this->getSourceFormat();
    246252    }
    247253
  • OpenPNE/branches/work/ebihara/prj_renew_OpenPNE_Img/webapp/lib/OpenPNE/Img/Generator/GD.php

    r6996 r6997  
    3131            imageinterlace($source_gdimg, 0);
    3232        }
    33 /*
    34         $s_width  = imagesx($source_gdimg);
    35         $s_height = imagesy($source_gdimg);
    3633
    37         $o_width  = $this->width;
    38         $o_height = $this->height;
    39         if (!$o_width) {
    40             $o_width = $s_width;
    41         }
    42         if (!$o_height) {
    43             $o_height = $s_height;
    44         }
    45 
    46         $this->calcResizedImageSize($o_width, $o_height, $s_width, $s_height);
    47 */
    4834        $s_width  = imagesx($source_gdimg);
    4935        $s_height = imagesy($source_gdimg);
     
    5642        if (!$h) {
    5743            $h = $s_height;
    58         }
    59 
    60         // リサイズの必要がない場合
    61         if ($s_width <= $w && $s_height <= $h) {
    62             // 形式変換する場合はGDを通す
    63             if ($this->source_format != $this->output_format) {
    64                 return $source_gdimg;
    65             }
    66             return false;
    6744        }
    6845
Note: See TracChangeset for help on using the changeset viewer.