Image 在标尺上强制使用特定宽度?

Image 在标尺上强制使用特定宽度?,image,resize,plone,archetypes,Image,Resize,Plone,Archetypes,我们的客户要求,对于图像的特定比例(“挑逗”比例),宽度必须始终小于或等于160px,与图像比率无关。指定为(160160) 缩放不适用于高度大于宽度的图像。在这种情况下,将使用160px 你知道如何确保在任何情况下都能固定在160px的范围内吗?我在一个站点中使用了这种天平,它工作正常: image_scales = {'thumb': (150,600), 'mini': (200, 800)} 这个想法是要有一个很长的高度,所以不管图片的图像比例如何,它的宽度总是150或200像素。在P

我们的客户要求,对于图像的特定比例(“挑逗”比例),宽度必须始终小于或等于160px,与图像比率无关。指定为(160160) 缩放不适用于高度大于宽度的图像。在这种情况下,将使用160px


你知道如何确保在任何情况下都能固定在160px的范围内吗?

我在一个站点中使用了这种天平,它工作正常:

image_scales = {'thumb': (150,600), 'mini': (200, 800)}

这个想法是要有一个很长的高度,所以不管图片的图像比例如何,它的宽度总是150或200像素。

在Plone 4中,有一种全新的生成比例的方法可以帮助解决这个问题。使用这种方法,您可以告诉它“向下”缩放图像,而不是“向上”,这意味着它会将图像的短边缩放到指定的大小,而不是长边(因此图像最终会被裁剪,但始终填充指定的区域)

使用这种方法,您不必在模式中定义比例,只需在模板中包含以下内容即可。电子秤将根据需要生成

<img tal:define="scale context/@@images"
 tal:replace="structure python: scale.scale('image',
              width=160, height=160, direction='down').tag()" />


有关这种缩放方法的更多示例,请参阅。

这种方法会不会使服务器过载?不会。我的意思是,如果它还不存在,它会按需生成它,然后以与旧缩放类似的方式存储它。因此,它实际上减少了服务器负载,因为上传图像时不需要生成未使用的缩放尺寸。但也有一个缺点,即匿名视图有时会导致数据库写入。