我正在使用此功能

function resize($width,$height) {

    $new_image = imagecreatetruecolor($width, $height);

    imagesavealpha($new_image, true);
    $trans_colour = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
    imagefill($new_image, 0, 0, $trans_colour);

    imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
    $this->image = $new_image;
}


我要做的是制作一个正方形的图像。我想通过最小的属性来调整大小,而不是压缩更大的数字。我想把边缘切掉。

因此,如果我的图像尺寸为213 x 180,则需要将尺寸调整为150 x 150

在达到此功能之前,我可以将图像调整为150高度。

我不知道该怎么做,就是取宽度并切掉边缘以获得150的宽度而不会变形。

有谁知道如何做到这一点?

最佳答案

我猜你说“砍掉”边缘是指让你成为形象的人,对吧?

要裁剪图像,可以使用imagecopyresized

一个小例子:

$imageSrc = //Your source image;
$tempImage = imagecreatetruecolor(150,150);
// CropStartX et cropStartY have to be computed to suit your needs
imagecopyresized($tempImage,$imageSrc,0,0,$cropStartX,$cropStartY,150,150,150,150);
// $tempImage now contain your cropped image.

关于php - 缩放图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5309682/

10-12 15:19