• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
rotate large images not working

#1
[eluser]pinarella[/eluser]
i have a problem in codeigniter when rotating large images...bigger than 1.2mb. for smaller images, there is no problem. is there any solution?

here is the code:

Code:
public function rotate(){
    $path = $this->input->post('path');
    $file = $this->input->post('file');
    $config['image_library'] = 'gd2';
    $config['source_image'] = $path;
    $config['rotation_angle'] = '90';
    $config['new_image'] = './uploads/_rot'.$file;
    $this->load->library('image_lib');

    $this->image_lib->initialize($config);
    //$this->image_lib->rotate();
    if(!$this->image_lib->rotate()){
        echo $this->image_lib->display_errors();
    } else {
        echo 'OK';
    }
}


#2
[eluser]rogierb[/eluser]
What kind of error are you getting?

My guess its a problem with memory allocation when rotating a large jpg.
With GD or GD2 the memory consumption when processing a jpg is huge. The reason for this is it unpackes a JPG, performes the operation and then repacks the image.

I've seen memory consumption over 512 MB.
You can set your memory_limit to a higher number or use ImageMagick for instance.


#3
[eluser]pinarella[/eluser]
yes, i have discovered it from hosting logs.
current hosting provider sets memory limit to 32mb.

i can maybe resize images to under 2000x1600 and then rotate them, because i dont need high res images.

do you have a link on how to do the rotation with imagemagick?

thanks

#4
[eluser]rogierb[/eluser]
Just change your settings to use ImageMagick instead of GD2

Code:
$config['image_library'] = 'ImageMagick';

#5
[eluser]pinarella[/eluser]
thanks, it worked like a charm.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.