程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Codeigniter實現智能裁剪圖片的方法

Codeigniter實現智能裁剪圖片的方法

編輯:PHP綜合

一副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();

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved