我这里有这个功能.....
function create_thumbnail($source,$destination, $thumb_width) {
$size = getimagesize($source);
$width = $size[0];
$height = $size[1];
$x = 0;
$y = 0;
if($width> $height) {
$x = ceil(($width - $height) / 2 );
$width = $height;
} elseif($height> $width) {
$y = ceil(($height - $width) / 2);
$height = $width;
}
$new_image = imagecreatetruecolor($thumb_width,$thumb_width)or die('Cannot Initialize new GD image stream');
$extension = get_image_extension($source);
if($extension=='jpg' || $extension=='jpeg')
$image = imagecreatefromjpeg($source);
if($extension=='gif')
$image = imagecreatefromgif($source);
if($extension=='png')
$image = imagecreatefrompng($source);
imagecopyresampled($new_image,$image,0,0,$x,$y,$thumb_width,$thumb_width,$width,$height);
if($extension=='jpg' || $extension=='jpeg')
imagejpeg($new_image,$destination);
if($extension=='gif')
imagegif($new_image,$destination);
if($extension=='png')
imagepng($new_image,$destination);
}
这是做什么的,它需要一张图像并调整大小,但它并没有像我预期的那样调整大小,我期待它会拍摄一张宽幅图像或一张高大图像或一个正常尺寸的图像并将其剪掉,使其适合该尺寸,它可以调整大小,但它会切断我的大部分图像......我已经为此苦苦挣扎了好几天,我似乎无法找到一种方法来调整我的图像大小而不切断它们......我希望我能找到一些帮助它会非常感激......所以,很累......
例如,我有这张图片....
当我为该图像运行该函数时,它返回此...
我期待的是相同的图像,只是更小。
我更改了这部分代码...
imagecopyresampled($new_image,$image,0,0,0,0,$thumb_width,$thumb_width,$width,$height);
将$x
and更改$y
为“0”和“0”,这就是出现的...
我接近我正在寻找的东西,但完整的图像不存在......它仍然被切断。