多后端图像处理和缩略图生成器
项目描述
微型是一个一箭双雕的工具
一个提供多种后端简单图像操作帮助库
一个可选的Django应用程序,用于轻松管理缩略图
后端
注意:虽然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)
将图像保存到 file。 file 可以是文件名或文件描述符。 format 应该是可用的格式。如果没有提供,则使用文件名的扩展名(如果有的话)或图像的原始格式。其他参数传递给内部保存方法。你可以为 JPEG 图像传递 quality。
close()
关闭图像资源及其关联的文件描述符。如果你使用处理器作为上下文管理器,则无需调用此方法。
set_background(color)
更改图像背景颜色
p.set_background('#fff')
crop(*args)
使用变量规格裁剪图像。
使用坐标裁剪
p.crop(10, 20, 50, 70)
使用比例和位置裁剪
p.crop(1/2, 'center')
位置可以是: center、top-left、top-right、bottom-right、bottom-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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 52029d83f0747b616afb23e46cdac198272f9d5ec152d47acd4e963fabf64d78 |
|
MD5 | bae589bfeed10e2de79a16cf45cf08d7 |
|
BLAKE2b-256 | b75f7245ece97c2be285dd33f1251e0809965aefaf578111763760d9b33bfa03 |