简单图像盒算法

boxmath的Python项目详细描述


这为链接多个大小调整提供了图像裁剪/大小调整算法, 裁剪操作并生成结果裁剪/调整操作对。

用法

用法相当简单:

fromboxmathimportbox,resize,crop,size,make_transformerfromwandimportimage# Load the image to get its width and heighti=image.Image(filename="chrysanthemum.jpg")b=box(i.width,i.height)# manipulate the virtual imageb=resize(b,629,483)b=crop(b,0,0,480,480)b=resize(b,1000,1000)# renderdefresizer(img,w,h):img.resize(int(w),int(h),filter=FILTER)returnimgdefcropper(img,l,t,r,b):img.crop(int(l),int(t),int(r),int(b))returnimgt=make_transformer(b,resizer,cropper)i=t(i)i.save(filename="chrysanthemum-1000x1000.jpg")

通常,如果我们想直接使用魔杖或PIL,每个调整都会 降低图像质量。先缩小再增大的动作 会破坏图像的质量;借助数学的力量,我们 仅在需要渲染图像时应用“调整大小”和“裁剪”。

不是宽度、高度、左侧、顶部、右侧和底部的值 传递给resizer和cripper函数的类型转换为int。

这是因为它们要么是fractions.fraction()实例,要么是 整数()。boxmath使用分数类确保 调整大小和裁剪。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用哪个地图/集合?   bluej Java:计算税   由于性能问题,java双精度字符串替代方案   java Eclipse CDT生成设置因重新启动而丢失   如何在java控制台中显示字节流值   java获取url地址,其中是包含我的页面的iframe   java 403禁止的spring启动API调用错误?   如果一个方法返回true,java将停止计时器   使用JavaNIO获取文件创建日期   在Java中从整数转换为二进制时保留整个字节的字符串   java AspectJ&Maven警告:“未应用……中定义的建议?”   java为什么我得到3,我不应该得到+7   java当一个方法包含多个返回的if语句时,如何从该方法中获取返回值?   在运行时循环java(scan.nextLine()!="$")   java配置休眠。cfg。春天的xml   java使用HtmlUnit模拟用户,错误   java CLI如何持续检查更改   java最大素因子(返回)