【发布时间】:2011-05-12 19:51:51
【问题描述】:
我正在尝试(从数码相机拍摄)大(巨大)图像,并将它们转换成可以在网络上显示的东西。这看起来很简单,而且可能应该如此。但是,当我尝试使用 PIL 创建缩略图版本时,如果我的源图像高于它的宽度,则生成的图像会旋转 90 度,这样源图像的顶部就位于生成图像的左侧。如果源图像宽于高,则生成的图像是正确的(原始)方向。这可能与我发送的 2 元组大小有关吗?我正在使用缩略图,因为它似乎是为了保留纵横比。还是我只是完全失明,做着愚蠢的事情?元组的大小为 1000,1000,因为我希望将最长边缩小到 1000 像素,同时保留 AR。
代码看起来很简单
img = Image.open(filename)
img.thumbnail((1000,1000), Image.ANTIALIAS)
img.save(output_fname, "JPEG")
提前感谢您的帮助。
【问题讨论】:
-
为其他人添加注释:我认为
.thumbnail()不要轮换——我使用img.show()验证了自己。实际上是.save()方法写入文件。我尝试的是: - 而不是写入磁盘文件尝试写入内存文件from io import BytesIO; buffer = BytesIO; img.save(buffer, "JPEG"); Image.open(buffer).show()
标签: python python-imaging-library