Dotclear

Changeset 1381:d91b07dc11eb


Ignore:
Timestamp:
08/15/13 11:06:52 (11 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
2.5
Children:
1384:60f769c02574, 1386:0f62e54aa7bb
Message:

Cope with alpha layer (in PNG images), fixes #1465 (including clearbricks rev 327)

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • .hgsubstate

    r1321 r1381  
    1 106856ffd55945d2be60e5f623c587c3fb356447 inc/libs/clearbricks 
     1cec4237896e00d8f7a24fbd85d716ef1582e3fd7 inc/libs/clearbricks 
  • inc/core/class.dc.media.php

    r1270 r1381  
    3030      
    3131     public $thumb_tp = '%s/.%s_%s.jpg';     ///< <b>string</b> Thumbnail file pattern 
     32     public $thumb_tp_alpha = '%s/.%s_%s.png'; ///< <b>string</b> Thumbnail file pattern (with alpha layer) 
    3233      
    3334     /** 
     
    298299               $f->media_thumb = array(); 
    299300               $p = path::info($f->relname); 
    300                $thumb = sprintf($this->thumb_tp,$this->root.'/'.$p['dirname'],$p['base'],'%s'); 
    301                $thumb_url = sprintf($this->thumb_tp,$this->root_url.$p['dirname'],$p['base'],'%s'); 
     301               $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     302               $thumb = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),$this->root.'/'.$p['dirname'],$p['base'],'%s'); 
     303               $thumb_url = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),$this->root_url.$p['dirname'],$p['base'],'%s'); 
    302304                
    303305               # Cleaner URLs 
     
    921923           
    922924          $p = path::info($file); 
    923           $thumb = sprintf($this->thumb_tp,$p['dirname'],$p['base'],'%s'); 
     925          $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     926          $thumb = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),$p['dirname'],$p['base'],'%s'); 
    924927           
    925928          try 
     
    940943                         $rate = ($s[0] < 100 ? 95 : ($s[0] < 600 ? 90 : 85)); 
    941944                         $img->resize($s[0],$s[0],$s[1]); 
    942                          $img->output('jpeg',$thumb_file,$rate); 
     945                         $img->output(($alpha ? 'png' : 'jpeg'),$thumb_file,$rate); 
    943946                         $img->loadImage($file); 
    944947                    } 
     
    959962          { 
    960963               $p = path::info($file->relname); 
    961                $thumb_old = sprintf($this->thumb_tp,$p['dirname'],$p['base'],'%s'); 
     964               $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     965               $thumb_old = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),$p['dirname'],$p['base'],'%s'); 
    962966                
    963967               $p = path::info($newFile->relname); 
    964                $thumb_new = sprintf($this->thumb_tp,$p['dirname'],$p['base'],'%s'); 
     968               $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     969               $thumb_new = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),$p['dirname'],$p['base'],'%s'); 
    965970                
    966971               foreach ($this->thumb_sizes as $suffix => $s) { 
     
    975980     { 
    976981          $p = path::info($f); 
    977           $thumb = sprintf($this->thumb_tp,'',$p['base'],'%s'); 
     982          $alpha = ($p['extension'] == 'png') || ($p['extension'] == 'PNG'); 
     983          $thumb = sprintf(($alpha ? $this->thumb_tp_alpha : $this->thumb_tp),'',$p['base'],'%s'); 
    978984           
    979985          foreach ($this->thumb_sizes as $suffix => $s) { 
Note: See TracChangeset for help on using the changeset viewer.

Sites map