2012-04-26 2 views
0

Я пытаюсь изменить размер и поворот изображения.Изменение размера и вращение изображения - Codeigniter

На данный момент это только изменение размера изображения, но не поворот.

Вот код, надеюсь, кто-то есть решение или что-то :-)

$config['image_library'] = 'gd2'; 
$config['source_image'] = $data['full_path']; 
$config['new_image']  = $data['file_path'].'thumbs/'.$data['file_name']; 
$config['create_thumb'] = FALSE; 
$config['maintain_ratio'] = TRUE; 
$config['width']   = 235; 
$config['height']   = 235; 

$this->load->library('image_lib', $config); 

$this->image_lib->resize(); 

$this->image_lib->clear(); 

$config['create_thumb'] = FALSE; //No thumbnail 
$config['source_image'] = $data['file_path'].'thumbs/'.$data['file_name']; //full path for the source image 
$config['rotation_angle'] = '180';// 

$this->load->library('image_lib',$config); 

//Rotate the image 
$this->image_lib->rotate(); 

ответ

3

После

$this->image_lib->clear();

добавить:

$config = array() повторно инициализировать ваш массив конфигурации.

0

Убедитесь, что вы воссоздают $ конфиг перед отправкой его снова.

В противном случае вы можете отправить значения, которые вы не хотите отправлять.

На данный момент поворота() получает $ конфиг так:

$config['image_library'] = 'gd2'; 
$config['new_image']  = $data['file_path'].'thumbs/'.$data['file_name']; 
$config['maintain_ratio'] = TRUE; 
$config['width']   = 235; 
$config['height']   = 235; 
$config['create_thumb'] = FALSE; //No thumbnail 
$config['source_image'] = $data['file_path'].'thumbs/'.$data['file_name']; //full path for the source image 
$config['rotation_angle'] = '180'; // 
+0

Есть ли у вас пример, если я хочу повернуть исходное изображение + новое уменьшенное изображение? –

+0

Я думаю, это потому, что вы дважды загружаете «image_lib». Измените мой ответ. –

+0

Я пробовал с этим решением, но не повезло: http://pastebin.com/y9mv6d6f –

1

После очистки конфигурации, не перезагрузить библиотеку, реинициализировать:

$this->image_lib->clear(); 
$config=array(); 
$config['image_library'] = 'gd2'; 
$config['source_image'] = $data['file_path'].'thumbs/'.$data['file_name']; 
$config['rotation_angle'] = '180'; 
$this->image_lib->initialize($config); // reinitialize it instead of reloading 
$this->image_lib->rotate(); 

Это единственное решение, которое, наконец, работал для меня. Просто переинициализация $ config не работает в CodeIgniter 2.2.0.