2010-02-09 7 views
0

J'espère que quelqu'un peut m'aider. J'essaye de télécharger une image via un formulaire, de la redimensionner à 600px, de créer une miniature de 100px, puis d'ajouter une image de filigrane à la version 600px, mais le code ci-dessous ne fait que créer deux versions de l'image originale.CodeIgniter Image Manipulation (Redimensionner & Filigrane)

$image = $this->upload->data(); 
$resized = base_url()."images/artwork/".$image['orig_name']; 

//Create 600px version 
$config = array(); 
$config['source_image'] = $resized; 
$config['image_library'] = 'gd2'; 
$config['maintain_ratio'] = TRUE; 
$config['width'] = 600; 
$config['height'] = 600; 
$this->image_lib->initialize($config); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 
unset($config); 

//Add watermark to 600px version 
$config = array(); 
$config['source_image'] = $resized; 
$config['image_library'] = 'gd2'; 
$config['wm_type'] = 'overlay'; 
$config['wm_overlay_path'] = './images/logo.gif'; 
$config['wm_vrt_alignment'] = 'middle'; 
$config['wm_hor_alignment'] = 'center'; 
$this->image_lib->initialize($config); 
$this->image_lib->watermark(); 
$this->image_lib->clear(); 
unset($config); 

//Create 100px unwatermarked thumbnail 
$config = array(); 
$config['source_image'] = $resized; 
$config['image_library'] = 'gd2'; 
$config['maintain_ratio'] = TRUE; 
$config['width'] = 100; 
$config['height'] = 100; 
$this->image_lib->initialize($config); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 
unset($config); 
$thumbnail = base_url()."images/artwork/".$image['raw_name']."".$image['file_ext']; 

echo "<a href=\"".$resized."\"><img src=\"".$thumbnail."\" /></a>"; 

Répondre

3

Il ne semble pas que vous ayez demandé une copie pour la vignette.

//Create 100px unwatermarked thumbnail 
$config = array(); 
$config['source_image'] = $resized; 
$config['image_library'] = 'gd2'; 
$config['maintain_ratio'] = TRUE; 
$config['create_thumb'] = TRUE; // Tells it to make a copy called *_thumb.* 
$config['width'] = 100; 
$config['height'] = 100; 
$this->image_lib->initialize($config); 
$this->image_lib->resize(); 
$this->image_lib->clear(); 
unset($config); 

Vous pouvez également mettre en code de vérification d'erreur afin de savoir si elle échoue et pourquoi:

if (! $this->image_lib->resize()) 
{ 
    echo $this->image_lib->display_errors(); 
}