cropper 结合php使用,php - 使用CodeIgniter和Cropper进行图像裁剪 - SO中文参考 - www.soinside.com...

我正在使用Cropper作为GUI来裁剪图像。 Cropper从顶部和左侧给出了X和Y位置以及图像的最终宽度和高度。我将这些数字传递给隐藏的输入字段。在CodeIgniter中,我使用imagemagick使用以下代码裁剪图像:

$this->load->library('image_lib');

$config['image_library'] = 'imagemagick';

$config['library_path'] = '/Applications/MAMP/Library/bin/';

$config['source_image'] = "upload/".$data['image']['file_name'];

$config['x_axis'] = $post['dataX'];

$config['y_axis'] = $post['dataY'];

$config['width'] = $post['dataWidth'];

$config['height'] = $post['dataHeight'];

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

if ( ! $this->image_lib->crop()) {

echo $this->image_lib->display_errors();

}

ImageMagick使用这样的代码

$cmd = $this->library_path.' -quality '.$this->quality;

/* ... */

if ($action === 'crop')

{

$cmd .= ' -crop '.$this->width.'x'.$this->height.'+'.$this->x_axis.'+'.$this->y_axis;

}

/* ... */

$cmd .= ' '.escapeshellarg($this->full_src_path).' '.escapeshellarg($this->full_dst_path).' 2>&1';

/* ... */

@exec($cmd, $output, $retval);

基本上有一条线:-crop 100x500 + 10 + 10。此线在4轴处裁剪图像:

裁剪:X轴距离左侧10px

裁剪:Y轴距离顶部10px

crop:X-Axis,宽度为100,右边为100

裁剪:Y轴距离底部500美元

另外,我将新维度存储在我的数据库中:

$this->db->where('id', $id);

$this->db->update("images", array(

'width' => $post['dataWidth'],

'height' => $post['dataHeight']

));

裁剪后,我可以比较文件的大小和数据库中的值。除非我不改变裁剪的纵横比,否则值是相同的。当我更改宽高比时,图像以旧的宽高比裁剪。我无法弄清楚原因。

如果您需要更多代码,请告诉我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值