跳转到主要内容

多后端图像处理和缩略图生成器

项目描述

微型是一个一箭双雕的工具

  • 一个提供多种后端简单图像操作帮助库

  • 一个可选的Django应用程序,用于轻松管理缩略图

后端

微型支持两个后端:PillowWand

注意:虽然Wand后端在某些方面非常强大,但它面临一些性能问题和内存泄漏。

安装

如果您没有安装Django,请使用Pillow后端安装Miniature

pip install "miniature[pillow,six]"

如果您没有安装Django,请使用wand后端

pip install "miniature[wand,six]"

如果您计划使用Django与Miniature一起使用,可以省略“six”依赖项

pip install "miniature[pillow]"

微型提供了一些用于操作图像的常用函数。首先要做的是加载您的处理类

from miniature.processor import get_processor

Processor = get_processor('pillow')

get_processor 会自动加载 miniature.processor.pillow_processor 并返回其 Processor 类。你可以传递一个完整的 Python 路径作为字符串来加载任何其他处理器。当然,你也可以以传统方式加载你自己的处理器类。

一旦你有了处理器类,你就可以处理图像了

with Processor('my-image.jpg') as p:
    p.thumbnail(200, 200).save('my-image-mini.jpg')

请注意,所有图像操作都返回处理器实例,允许你在一行操作中链式调用操作。

save(file, [format], **options)

将图像保存到 filefile 可以是文件名或文件描述符。 format 应该是可用的格式。如果没有提供,则使用文件名的扩展名(如果有的话)或图像的原始格式。其他参数传递给内部保存方法。你可以为 JPEG 图像传递 quality

close()

关闭图像资源及其关联的文件描述符。如果你使用处理器作为上下文管理器,则无需调用此方法。

set_background(color)

更改图像背景颜色

p.set_background('#fff')

crop(*args)

使用变量规格裁剪图像。

使用坐标裁剪

p.crop(10, 20, 50, 70)

使用比例和位置裁剪

p.crop(1/2, 'center')

位置可以是: centertop-lefttop-rightbottom-rightbottom-left

使用比例和位置偏移裁剪

p.crop(1, '-50%', 20)

偏移量是移动裁剪区域的尺寸,它们可以是百分比或整数(以像素为单位)。

最后,为了让处理器决定移动裁剪区域的位置,你可以要求它聪明(说实话,它有时做不到)

p.crop(16/9, 'smart')

resize(width, height)

嗯,我想这很明显。

thumbnail(width, height)

创建图像的缩略图,同时保持宽高比。你可以传递 upscale 选项,并将其值设置为 True 以强制图像大小,即使它小于提供的尺寸(默认为 False)。

rotate(angle)

按提供的 angle 以逆时针方向旋转图像。

add_border(width, color)

在图像周围添加宽度为 width 和颜色为 color 的边框。

Django 应用程序

待编码和文档化。

项目详情


下载文件

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

源分布

Miniature-0.2.0.tar.gz (10.8 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面