我有一个以形象为导向的项目。图像有不同的维度和方向。根据以下规则,我正在生成较小的图像:
add_image_size(\'big_xxl\', 4500, 9999); // 4500 x flex_height
add_image_size(\'big_xl\', 3300, 9999); // 3300 x flex_height
add_image_size(\'big\', 2100, 9999); // 2100 x flex_height
add_image_size(\'medium\', 1250, 9999); // 1250 x flex_height
考虑到
add_image_size( string $name, int $width, int $height, bool|array $crop = false )
我需要找到一种生成图像的方法
FLEXIBLE_width 但是
FIXED_height, 对于相同的图像键(
string $name
).
说明:
当前代码仅支持横向图像。我需要实现肖像图像,即基于固定的高度值。
我看到了一种为肖像图像声明第二组图像大小的方法(big_xxl_portrait
, big_xl_portrait
等等,在哪里int $width
将是\'9999\'
) ,并根据if($image_is_portrait){...}else{...}
思维方式
询问是否可以生成相同的图像string $name
, 其大小取决于原始图片的方向,因为这些图片的副本不可用会显著增加服务器成本(需要双重存储价值),而且总体上会造成文件混乱。
更新:编辑问题以加快问题进度
最合适的回答,由SO网友:Andy Macaulay-Brook 整理而成
您所要求的功能相当于缩放图像以适应每个大小的边界正方形,因此可以通过以下方式实现:
add_image_size(\'big_xxl\', 4500, 4500);
add_image_size(\'big_xl\', 3300, 3300);
add_image_size(\'big\', 2100, 2100);
add_image_size(\'medium\', 1250, 1250);
考虑5000x500的横向图像。这些规则将生成4500、3300、2100和1250宽的图像。
对于500x5000的肖像图像,这些规则将生成缩放到4500、3300、2100和1250高的图像。