我有一张矩形照片。 我想把它放在方形的照片中。 这样整个矩形都放置在正方形中。 (我想在方形照片中包含整个矩形图像!)
我尝试过:
$width = 500;
$height = 500;
$img = Image::make($path);
$img->width() > $img->height() ? $width=null : $height=null;
$img->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
})->fit(500, 500, function ($constraint) {
$constraint->upsize();
});
但是它剪切了主图像的某些部分。 我该如何纠正?
答案 0 :(得分:1)
您可以将图像设置为原始宽高比,但可以将其适合正方形的大小而无需裁剪。如我所见,您使用干预图像,因此可以尝试:
$img = Image::make($path)->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
});
这样,您告诉Intervention创建图像,如果图像的宽度大于高度,则选择按宽度适合正方形;如果图像的高度大于宽度,则选择按高度适应正方形。
如果您还想要一个正方形,可以使用:
$square = Image::canvas($width, $height, '#101010')->insert($img, 'center');