2

我正在使用缩略图脚本,我只能找到 imagecopyresampled 来复制我的图像的一部分并从中制作一个方形缩略图。

对于一个特定的缩略图,我希望宽度大于高度,因为我想采用这种新布局:

在此处输入图像描述

这是我现在拥有的,对于最新的艺术品部分来说宽度太小了:

在此处输入图像描述

我想我可以通过增加宽度来实现这一点,imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $new_width+100, $new_height, $width, $height);......这只会拉伸图像,但保持缩略图框架:

在此处输入图像描述

这就是我想要的……框架在宽度上更大,所以我在里面放了更多的图像。

在此处输入图像描述

谢谢!

4

1 回答 1

1

根据 imagecopyresampled 的 PHP 文档:

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

当从一个纵横比转换到另一个纵横比而不进行裁剪或智能放置时,您将始终拉伸图像,这是不可避免的。如果您不太关心拉伸(或者如果您毕竟没有改变纵横比,那么您的问题就不清楚了),那么这里与我的做法类似。

function resize($width,$height,$data) {
       $new_image = imagecreatetruecolor($width, $height);
       imagecopyresampled($new_image, $data, 0, 0, 0, 0, $width, $height,      imagesx($data), imagesy($data));
       $data = $new_image;
    }
于 2013-02-11T22:05:43.947 回答