0

我正在尝试将全尺寸图像海报调整为文件的三个较小变体。我首先保存全尺寸海报,然后我使用它的路径来创建较小的海报。问题是尺寸不正确。我有一个 $conf 数组,其中包含所有图像的一般配置信息,然后我为每个具有特定更改(例如大小)的图像有一个 $conf 数组。我在每次新的初始化之前清除库。

// Config for all images
$conf['source_image'] = $file_path;
$conf['quality'] = 80;
$conf['maintain_ratio'] = true;
$conf['master_dim'] = 'auto';

// Small
$conf['new_image'] = 'img/movie_images/posters_small/' . $file_name;
$conf['height'] = 75;
//$conf['width'] = 55;

$this->image_lib->initialize($conf);
$this->image_lib->resize();
$this->image_lib->clear();
//unset($conf['width']);

// Medium
$conf['new_image'] = 'img/movie_images/posters_medium/' . $file_name;
$conf['height'] = 200;

$this->image_lib->initialize($conf);
$this->image_lib->resize();
$this->image_lib->clear();

// Big
$conf['new_image'] = 'img/movie_images/posters_big/' . $file_name;
$conf['height'] = 300;

$this->image_lib->initialize($conf);
$this->image_lib->resize();
$this->image_lib->clear();

看到代码中的任何错误?我尝试按照此处另一个问题中的建议输出错误,但这也没有显示任何内容。我不明白它是如何工作的。如果我将“master_dim”设置为自动,第一个(小)图像得到正确的高度,但默认宽度(真的很宽)。如果我将 master_dim 设置为“宽度”,则小图像保持不变(非常宽,但高度正确)。如果我将 master_dim 设置为“高度”,它们都会得到正确的高度,但小的仍然是超宽的。

有任何想法吗?

4

2 回答 2

0

正如您在代码中看到的那样,我尝试使用小图像的宽度来获得正确的尺寸,但没有让它工作。

在将 master_dim 设置为 height 并手动设置小图像的宽度后,它可以按我的意愿工作。

于 2012-06-25T14:13:35.370 回答
0

您可以从http://thephpcode.com/blog/codeigniter/gradient-image-library-for-codeigniter下载图像库,以将图像转换为正确的宽度和大小。

于 2013-02-16T11:59:48.233 回答