跳转到主要内容

支持裁剪的图像字段和/或补丁,适用于Plone/Archetypes。

项目描述

具有不同缩放行为的Archetypes图像字段。

简介

Archetypes默认的ImageField将图像缩小到整个图像都适合给定的缩放级别。它保持其宽高比。即,将400x300的图像缩小到200x200的缩放结果是一个200x150的图像。

ClippingImageField相同,结果是一个200x200的图像!它将图像水平或垂直居中,并尽量保留尽可能多的原始内容。

已在Plone 3.3.x和Plone 4上测试。

用法

字段

按照文档说明指定经典 Archetypes ImageField 的大小。如果您想特定比例裁剪,请添加字段属性 crop_scales=['image_large','other_scale']。它期望一个包含要裁剪的比例名称的列表。

补丁

通过将 patch.zcml 包含在您的包 archetypes.clippingimage 中,将修补 Products.Archetypes.Field.ImageField 以使其能够生成裁剪的比例。

您可以通过向 ImageField 添加属性 crop_scales 来定义哪些比例应该被裁剪。

ImageField('image',
    sizes= {'large'   : (768, 768),
            'preview' : (400, 400),
            'listing' :  (16, 16),
            },
    crop_scales = ['listing'],
    ...

注意,如果您想在 ATCTImage 中使用裁剪图像并且已经安装了 plone.app.imaging,您需要在 plone.app.blob.subtypes.image.SchemaExtender.fields[0] 设置属性 crop_scales

数据块

在应用补丁的情况下,一切正常。无需进一步操作。如果您使用字段,您需要包含 blob.zcml 以使字段比例成为数据块。

变更日志

2.1

  • 使用原始图像的格式来计算裁剪。以前该字段将所有内容转换为 png,这导致了相对较大的文件 [fRiSi]

2.0

  • 让 plone.app.imaging 和 plone.app.blob 识别。现在与 Plone 4 兼容 [jensens]

  • 大小可以是可调用的或字典(不支持实例方法)

    背景:如果 sizes 是字典,plone.app.imaging 使用 imaging_properties 中定义的大小。因此,您需要通过可调用定义大小,以便您的自定义大小生效 [fRiSi]

  • 为 ImageField.scale 添加了 monkeypatch 以向任何 ImageField 添加裁剪支持 [jensens, fRiSi]

许可协议

版权 (c) 2008-2009, BlueDynamics Alliance, 奥地利,保留所有权利。

在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:

  • 源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。

  • 二进制形式的重新分发必须在文档和/或随分发提供的其他材料中重新生产上述版权声明、本条件列表和以下免责声明。

  • 未经事先书面许可,不得使用 BlueDynamics Alliance 的名称或其贡献者的名称来认可或推广由此软件派生出的产品。

本软件由 BlueDynamics Alliance “按原样”提供,并且任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证均被拒绝。在任何情况下,BlueDynamics Alliance 不会对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是否因本软件的使用或本软件使用可能性而引起,即使已通知此类损害的可能性。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

archetypes.clippingimage-2.1.zip (13.2 kB 查看哈希值)

上传时间: 源代码

构建分发

archetypes.clippingimage-2.1-py2.6.egg (8.8 kB 查看哈希值)

上传时间: 源代码

由以下支持