Heim  >  Artikel  >  Backend-Entwicklung  >  Codeigniter智能裁剪图片示例代码

Codeigniter智能裁剪图片示例代码

WBOY
WBOYOriginal
2016-07-25 08:52:53932Durchsuche
本文介绍了Codeigniter实现智能裁剪图片的方法,将图片进行裁剪并不失真,尽可能保留图片主题含义,需要的朋友参考下。

Codeigniter智能裁剪图片

一副1024*768大小的图片,裁剪到240*240大小,裁剪后不失真,尽可能保留图片主题含义。

方法: 1、先将图片等比例缩略到可以裁剪的大小; 如果是宽幅图片,则按高度等比例缩放到高度 = 240px,窄幅图片(高度大于宽度)则按宽度等比例缩放;

2、按长宽格式居中裁剪; 保留缩略后的图片中间部分;

<?php
$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();
// by bbs.it-home.org
$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();


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn