跳转到主要内容

简单图像框算术

项目描述

此项目提供了图像裁剪/调整大小算法,用于链式多个调整大小、裁剪操作,并生成一个结果裁剪/调整大小操作对。

使用方法

使用方法相当简单

from boxmath import box, resize, crop, size, make_transformer
from wand import image

# Load the image to get its width and height
i = image.Image(filename="chrysanthemum.jpg")
b = box(i.width, i.height)

# manipulate the virtual image
b = resize(b, 629, 483)
b = crop(b, 0, 0, 480, 480)
b = resize(b, 1000, 1000)

# render
def resizer(img, w, h):
    img.resize(int(w), int(h), filter=FILTER)
    return img

def cropper(img, l,t,r,b):
    img.crop(int(l),int(t),int(r),int(b))
    return img

t = make_transformer(b, resizer, cropper)
i = t(i)
i.save(filename="chrysanthemum-1000x1000.jpg")

通常,如果我们直接使用wand或PIL,每次调整大小都会降低图像质量。先缩小再放大的操作会破坏图像质量;利用数学的力量,我们只有在需要渲染图像时才应用调整大小和裁剪。

请注意,传递给调整大小和裁剪函数的宽度、高度、左、上、右和下值被转换为整数。

这是因为它们要么是fractions.Fraction()实例,要么是int()。boxmath使用Fraction类确保在调整大小和裁剪时的精度。

项目详情


下载文件

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

源代码发行版

boxmath-0.1.3.tar.gz (9.2 kB 查看哈希值)

上传时间 源代码

支持

AWSAWS 云计算和安全赞助商DatadogDatadog 监控FastlyFastly CDNGoogleGoogle 下载分析MicrosoftMicrosoft PSF赞助商PingdomPingdom 监控SentrySentry 错误日志StatusPageStatusPage 状态页面