基本上,我试图通过用户界面旋转图像,但是我注意到图像质量在每次旋转时都会严重降低。有人知道怎么解决吗?另外,当图像旋转时,每次都会裁剪掉部分图像。在
这是一些照片 之前和之后: http://imgur.com/a/QESKs
代码如下:
def onRotate(self):
tanTheta = float(hh)/float(ww)
theta = math.atan(tanTheta) * 57.2957795 # convert to degrees
if theta > 0:
angle = (90 - theta) * -1
clockwise = True
elif theta < 0:
angle = (270 - theta) * -1
clockwise = False
else:
tkMessageBox('Angle not okay', 'Try again!')
rotated_small = photo_small.rotate(angle)
rotated_small.save('small_rotate.jpg')
self.load_imgfile('small_rotate.jpg')
这就要求它使用它现有的最高质量的插值算法,并扩展图像以包含完整的旋转大小,而不是裁剪。文档没有说明背景将填充什么颜色。在
图像是像素的网格。如果旋转它(角度不是90的倍数),则必须将旋转的栅格重新匹配到新的未旋转栅格以显示图像。在这个过程中,有些损失是无法避免的。在
唯一的选择是将未旋转的图像保留在某个位置,并将多次旋转的角度相加,并始终从初始的未旋转图像构建旋转图像。在
相关问题 更多 >
编程相关推荐