简单图像盒算法

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文件到编译器?   java写入文件和I/O   java日历返回错误的当前日期安卓   if语句if变量等于1(java)   java很难让Joda有时间使用我的bukkit插件   json如何创建基于java的应用程序,该应用程序将从网站获取输入   java如何在多页中打印大型JPanel   java my spinner在添加从firebase数据库中选择的多个值时被覆盖   java用Play框架覆盖HTTP方法   试图获取所有用户时,java错误请求400。Dto和表格   java支持bean加载图像后javascript自动调用JS函数   java在MTOM的@StreamingAttachment(Metro)中,Parsely的意思是什么   具有可抢占线程队列的多线程java执行器   Java Opencv connectedComponentsWithStats   java如何向数组中添加2D数组的数目   eclipse为什么我的Java Zork克隆不能正确循环?   java在哪里放置定制的第二个web。xml   java如何更改最近应用列表中显示的快照?   java Browser#getText()返回空字符串