python - 在 PIL 中将图像的尺寸更改为一半
问题描述
有一张尺寸为 1920 x 1080 的图像,我想将其缩小到一半
我的代码:-
from PIL import Image
image = Image.open('MysticHorizon.jpg')
# new_image = image.resize((960, 540)) I dont want to do it like this
# new_image.save('imageresized.jpg')
i = (image.size)
for a in i:
a = int(a/2)
print(a)
for j in a:
print(j, end= ",")
newimage = image.resize((a))
newimage.save('halfresized.jpg')
我收到一个错误
" for j in a: TypeError: 'int' object is not iterable"
解决方案
size 方法返回一个元组。第一个循环拆分元组,第二个循环尝试迭代元组的最后一个整数元素,因此出现错误。
要减小图像大小,请尝试以下代码:
from PIL import Image
image = Image.open('MysticHorizon.jpg')
i = image.size # current size (height,width)
i = i[0]//2, i[1]//2 # new size
newimage = image.resize(i)
newimage.save('halfresized.jpg')
推荐阅读
- laravel - Vue 路由器历史模式结合 laravel catch all 重定向 404 标头提供 200 标头状态码
- angular - 角度类替换绑定解释
- c# - Xamarin - AutoMapper 在初始化后添加配置文件
- javascript - 即使在 beforeEach 钩子中的值发生变化后,原始值也用于动态测试
- c# - 文本框中的逗号
- python - 如何使用 python 从 JSON 输出中获取匹配的结果?
- javascript - 画布从左下角到右上角一直变黑
- c - 为什么全宽移位对于常量和变量的行为不同?
- html - 一个 HTML 页面没有看到 CSS(Chrome 除外),但在不同的页面上却看到了
- activemq-artemis - 无法运行消息队列