codeigniter:裁剪后如何调整大小

时间:2011-07-27 07:04:43

标签: php codeigniter image-processing

所以我正在使用以下代码(成功)裁剪我正在上传的图像:

    $file_name = $this->input->post('file_name');
    $x1 = $this->input->post('x1');
    $y1 = $this->input->post('y1');
    $x2 = $this->input->post('x2');
    $y2 = $this->input->post('y2');

    //die('width: '.$width.' height: '.$height.' id: '.$id.' file_name: '.$file_name.' x1: '.$x1.' x2: '.$x2.' y1: '.$y1.' y2: '.$y2.' w: '.$w.' h: '.$h);

    $config['image_library'] = 'gd2';
    $config['source_image']    = './images/uploads/temp/'.$file_name;
    $config['maintain_ratio'] = FALSE;
    $config['width'] = $y2;
    $config['height'] = $y2;
    $config['x_axis'] = $x1;
    $config['y_axis'] = $y1;
    $this->image_lib->initialize($config); 

此时我想调整图像大小,因为我刚刚得到了我想要的选择和比例,我不知道该怎么做。以下是我认为之后会以相同方法立即起作用的内容:

    $config['width'] = 180;
    $config['height'] = 180;
    $this->load->library('image_lib', $config); 
    $this->image_lib->resize();

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

它不会出现任何错误或任何错误,它只是不会调整图像大小。你能帮我弄清楚发生了什么吗?

1 个答案:

答案 0 :(得分:2)

就好像第二次加载库(因此再次初始化它)一样,它没有收到它需要的所有参数。您是使用相同方法或其他方法中的代码吗? 无论如何,如果在相同的方法中,作为测试尝试在清除它们之后加倍一些配置:

//
//CROPPING HERE....Then:
//

$this->image_lib->clear();

$config['image_library'] = 'gd2';
$config['source_image']    = './images/uploads/temp/'.$file_name;
$config['maintain_ratio'] = TRUE;
$config['width'] = 180;
$config['height'] = 180;

$this->image_lib->initialize($config);

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

确保文件夹和文件具有正确的权限。