CodeIgniter Görüntü İşleme (Resize & Filigran)

2 Cevap php

Birisi bana yardımcı olabilir umuyorum. Ben, 600px için yeniden boyutlandırmak 100px minik oluşturmak ve sonra 600px sürümü için bir filigran görüntüsü eklemek, bir form aracılığıyla bir görüntü yüklemeye çalışıyorum, ancak aşağıdaki kod sadece orijinal görüntünün iki sürümü yaratıyor.

$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>";

2 Cevap

Eğer küçük resim için bir kopyasını yapmak için bunu söyledim gibi görünmüyor.

//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);

Sen de bu yüzden neden bu kadar başarısız olursa bilmek ve hata denetimi kodu koymak isteyebilirsiniz:

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

Image Moo kullanma yardımcı olabilir, bu örnekte başına: http://ellislab.com/forums/viewthread/162030/#778258