Codeigniter實現(xiàn)智能裁剪圖片的方法

2013-05-08 22:11:43來源:百度空間作者:張志林

一副1024*768大小的圖片,裁剪到240*240大小,裁剪后不失真,盡可能保留圖片主題含義。

一副1024*768大小的圖片,裁剪到240*240大小,裁剪后不失真,盡可能保留圖片主題含義。

我使用到的方法:

1. 先將圖片等比例縮略到可以裁剪的大;

如果是寬幅圖片,則按高度等比例縮放到高度 = 240px,窄幅圖片(高度大于寬度)則按寬度等比例縮放;

2. 按長寬格式居中裁剪;

保留縮略后的圖片中間部分;

$this->load->library('image_lib'); 
           
    list($width$height) = getimagesize("upload/123.jpg");
    $config['image_library'] = 'gd2';
    $config['source_image'] = 'upload/123.jpg';
    $config['maintain_ratio'] = TRUE;
    if($width >= $height)
    {
        $config['master_dim'] = 'height';
    }else{
        $config['master_dim'] = 'width';
    }
    $config['width'] = 240;
    $config['height'] = 240;
    $this->image_lib->initialize($config);
    $this->image_lib->resize();
       
    $config['maintain_ratio'] = FALSE;
    if($width >= $height)
    {
        $config['x_axis'] = floor(($width * 240 / $height - 240)/2);
    }else{
        $config['y_axis'] = floor(($height * 240 / $width - 240)/2);
    }
    $this->image_lib->initialize($config);
    $this->image_lib->crop();
關(guān)鍵詞:Codeigniter裁剪圖片

贊助商鏈接: