添加图像大小横向或纵向

时间:2016-12-27 作者:Ignat B.

我有一个以形象为导向的项目。图像有不同的维度和方向。根据以下规则,我正在生成较小的图像:

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, 其大小取决于原始图片的方向,因为这些图片的副本不可用会显著增加服务器成本(需要双重存储价值),而且总体上会造成文件混乱。

更新:编辑问题以加快问题进度

1 个回复
最合适的回答,由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高的图像。

相关推荐

从wp.media.editor.附件获取所选图像URL到文本输入失败。我做错了什么?

我已将媒体按钮作为post meta field 在以下情况下将图像URL插入文本字段Insert Into Page 单击按钮。它一直工作到打开“媒体存储库”窗口、选择“图像”和“插入”为止,但没有向输入字段传递任何值。Expected result结果应该是URL和媒体ID插入为https://avalon.com/dev/wp-content/uploads/2021/01/scp7147prko31.jpg|12 但没有返回值。我可以手动输入URL并保存数据。我彻底扫描了我的代码,并尝试了许多ja