1

我正在使用image_libCodeIgniter 中的类来重新调整图像大小,它工作正常;这是我的代码:

function resizeImage($source_image,$new_image,$width=100,$height=100){
       $config['image_library'] = 'gd2';
       $config['source_image']  = $source_image;
       $config['new_image'] = $new_image;
       $config['maintain_ratio'] = TRUE;
       $config['width']  = $width;
       $config['height']    = $height;
       $this->image_lib->initialize($config);

       if($this->image_lib->resize()) return true;
       else return false;
}

但是,我想要实现的目标,无论是什么图像,风景或肖像。大小。裁剪图像以设置尺寸。

目前,以这种方式裁剪后,图像会显示为不同大小的拇指,主要是横向或纵向。然而,如果你进入这样的网站,你会发现所有拇指的比例、宽度和高度都完全相同。

我怎样才能做到这一点?

干杯。

编辑

出色的教程可以做到这一点,可以在这里找到:

CodeIgniter.tv


我正在尝试在 CI 中裁剪并按比例调整拇指大小,如下所示:

好的,那么您可以先将图像裁剪为方形图像,然后调整大小。看看这里:stackoverflow.com/a/3327424/844726 – swatkins 6 月 26 日 13:33

function resizeImg(){
   $source_image = base_url().'pic2.jpg';
   $config['image_library'] = 'gd2';
   $config['source_image']  = $source_image;
   $config['new_image'] = $new_image;
   $config['maintain_ratio'] = TRUE;
   $config['x_axis'] = '10';
   $config['y_axis'] = '10';
   $config['width']  = $width;
   $config['height']    = $height;
   $this->image_lib->initialize($config);
}

当我像这样运行脚本时:

http://localhost/test/index.php/cronJobs/resizeImg

我收到服务器错误,我猜脚本没有执行。

4

2 回答 2

1

你的问题是$config['maintain_ratio'] = TRUE;陈述。这告诉系统将宽度与高度的比例保持为与新宽度或高度的比率(基于哪个是较大的值)。

因此,如果图像是纵向的,它将调整为 100px 高,但宽度将与原始图像比例成比例。

如果您希望图像为 100px X 100px,则需要设置:

$config['maintain_ratio'] = FALSE;
于 2012-06-25T21:35:14.530 回答
0

我认为对于像 BBC 这样的大型网站,他们必须自己手动裁剪/调整图像大小。使用 CodeIgniter,我们可以这样设置:

$config_resize['maintain_ratio'] = TRUE;
$config_resize['master_dim'] = 'height';
$config_resize['quality'] = "100%";
$config_resize['source_image'] = './' . $user_upload_path . $file_name;

$config_resize['height'] = 64;
$config_resize['width'] = 1;

为了修复拇指高度并保持纵横比,这篇文章展示了调整大小的示例和演示。

于 2014-10-26T03:17:07.823 回答