Codeigniter image manipulation class rotates image during resize

Posted by someoneinomaha on Stack Overflow See other posts from Stack Overflow or by someoneinomaha
Published on 2010-03-16T04:20:42Z Indexed on 2010/03/16 8:56 UTC
Read the original article Hit count: 508

Filed under:

I'm using Codeigniter's image manipulation library to re-size an uploaded image to three sizes, small, normal and large.

The re-sizing is working great. However, if I'm resizing a vertical image, the library is rotating the image so it's horizontal.

These are the config settings I have in place:

     $this->resize_config['image_library'] = 'gd2';
     $this->resize_config['source_image'] = $this->file_data['full_path'];
     $this->resize_config['maintain_ratio'] = TRUE;

     // These change based on the type (small, normal, large)
     $this->resize_config['new_image'] = './uploads/large/'.$this->new_file_name.'.jpg';
     $this->resize_config['width'] = 432;
     $this->resize_config['height'] = 288;

I'm not setting the master_dim property because the default it set to auto, which is what I want.

My assumption is that the library would take a vertical image, see that the height is greater than the width and translate the height/width config appropriately so the image remains vertical.

What is happening (apparently) is that the library is rotating the image when it is vertical and sizing it per the configuration.

This is the code in place I have to do the actual re-sizing:

        log_message('debug', 'attempting '.$size.' photo resize');
        $this->CI->load->library('image_lib');
        $this->CI->image_lib->initialize($this->resize_config);
        if ($this->CI->image_lib->resize())
        {
              $return_value = TRUE;
              log_message('debug', $size.' photo resize successful');
        }
        else
        {
            $this->errors[] = $this->CI->image_lib->display_errors();
            log_message('debug', $size.' photo resize failed');
        }
        $this->CI->image_lib->clear();
        return $return_value;

© Stack Overflow or respective owner

Related posts about codeigniter