怎么把长方形的照片放到正方形的照片里?
How can I put a rectangular photo in a square photo?
我有一张长方形的照片。
我想把它放在方形照片中。
这样整个长方形就放在正方形里面了。
(我想在正方形照片中有整个矩形图像!)
我试过这个:
$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();
});
但是它切掉了主图的一部分。
我该如何纠正?
您可以使图像保持原始纵横比,但不裁剪使其适合正方形的大小。如我所见,您使用了干预图像,因此您可以尝试:
$img = Image::make($path)->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
});
有了这个,你告诉 Intervention 创建一个图像,如果你的图像的宽度大于高度,或者如果你的图像的高度大于宽度,则选择根据宽度来适应正方形。
如果你还想要一个正方形,你可以使用:
$square = Image::canvas($width, $height, '#101010')->insert($img, 'center');
我有一张长方形的照片。 我想把它放在方形照片中。 这样整个长方形就放在正方形里面了。 (我想在正方形照片中有整个矩形图像!)
我试过这个:
$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();
});
但是它切掉了主图的一部分。 我该如何纠正?
您可以使图像保持原始纵横比,但不裁剪使其适合正方形的大小。如我所见,您使用了干预图像,因此您可以尝试:
$img = Image::make($path)->resize($width, $height, function ($constraint) {
$constraint->aspectRatio();
});
有了这个,你告诉 Intervention 创建一个图像,如果你的图像的宽度大于高度,或者如果你的图像的高度大于宽度,则选择根据宽度来适应正方形。
如果你还想要一个正方形,你可以使用:
$square = Image::canvas($width, $height, '#101010')->insert($img, 'center');