问题是,当我上传的图像在高度或宽度上都小于600x339的尺寸时,它们在页面上的显示不正确。
我在你写这句话的时候并没有理解,但当我开始研究时,我发现了你的意思,所以我写这篇回答是为了给那些不理解你的意思,或者WP是如何处理图像的其他人记录这一点。
将图像上载到WordPress时,图像会自动处理,并根据设置裁剪或调整大小。
开发人员可以使用此问题中使用的代码声明其自定义大小。
add_theme_support(\'post-thumbnails\');
set_post_thumbnail_size(1280, 436, true);
add_image_size(\'general-thumb\', 600, 339, true);
用于
set_post_thumbnail()
第一个变量是宽度,第二个变量是高度,第三个变量表示裁剪类型:硬(true)或软(false)
对于add_image_size()
第一个字符串是要调用图像的名称,后跟宽度、高度和裁剪。
Hard cropping 按请求的数字按比例减少维度,然后切断所有其他内容以匹配奇数维度例如:如果上载一张800x600照片,希望将其裁剪为600x200,则WP会将800w按比例减少到600w,然后将剩余的450h裁剪到200h。我相信它将图像居中,并从顶部和底部均匀地进行拍摄
Soft cropping 按比例缩小整个图像,保持整个图像例如:您上载的800x600图像将软裁剪到最小最大尺寸200h,使宽度按比例为267w
在这种情况下,我相信OP肯定想Hard Crop, 如规范所示。
所遇到的问题是,WP无法按比例放大图像。如果您想要600w x 200h的图像,但上载550w x 300h,它会将300h裁剪为200h,但保留550w。我遇到的大多数文档都非常清楚地说明了这一点。我知道大多数人使用的“修复”方法是,如果绝对无法以更大的比例获得图像,则在上传之前,先在桌面程序中缩放图像。
OP正在寻找一种解决方案,允许WP将图像缩放到所需的尺寸。此解决方案可在以下位置找到:How to scale up image into thumbnail without distorting it?
Axlmedia(引用的消息来源)还对解决方案添加了以下警告:
稍微有点不好的地方(我们今天的服务器空间不用太担心)是,例如,如果您将一个16×16的favicon上传到您的媒体库,它将被裁剪并放大到所有可用的较大缩略图大小。因此,将创建更多图像。
对于旧图像,WordPress不会返回并还原旧缩略图。这些设置仅适用于从安装点开始的所有新设置。设置解决方案后,您可以找到一两个插件,该插件将返回并将每个图像重新缩放到新设置。我不知道它是否能与添加的高标度函数一起工作。用户Stanislau Ladutska建议的两个插件可以提供更快的整体解决方案。