Drupal 7 module 'image style' 可以制作resize、scale、crop等图片效果,但还不够。例如,原始图像尺寸为 800x600,我可以将其缩放为 400x300,然后我想在高度上添加白色背景,使其为 400x400。这个效果怎么做?
4 回答
对于这种情况,图像缓存操作是一个很棒的模块......你可以试试
实际上,您可以使用Image Kit 效果轻松做到这一点。使用Smart Resizer,您可以定义要用于填充空白的背景颜色。
最后,我为此创建了图像效果模块。它将图像调整为一组精确的尺寸大小,无需任何裁剪、拉伸或收缩,但如果需要,会添加白色背景。
我看到你找到了解决方案。但是有一个更简单的。使您的图像样式将图像缩放到 400x300(它将保持图像的纵横比)。然后使用 CSS 为周围的 div 设置一个白色背景和固定大小 - 400x300px 的样式。如果图像具有不同的纵横比,则会填充周围的白色 div。如果要在底部/右侧添加空白,请将图像放置在 div 内的左上角。或者您可以将图像居中以在两侧或顶部/底部添加空白(取决于图像的纵横比)。如果您需要图像周围的边框或框阴影,请将其应用于周围的 div。
添加黑色空间:如果您的图像样式用于响应式幻灯片或其他内容和/或您希望所有图像都具有精确的尺寸(高度/宽度),您可以通过使用两个过滤器来实现:
缩放到 400x300(高度或宽度将与此尺寸匹配,另一个将等于或更小)
裁剪为 400x300(因为高度/宽度已经等于或小于 400x300,如果需要,它将在顶部/底部或右侧/左侧添加黑色空间)
[编辑]
使用ImageCache Actions (Drupal 7)添加空白:
对于 Drupal 8 ImageCache Actions 现在称为Image Effects。使用背景选项固定高度/宽度的效果是“设置画布”。