这是我的代码:
import Image
import sys
import json
if __name__ == '__main__':
args = json.loads(sys.argv[1])
srcPath = args.get('srcPath')
image = Image.open(srcPath)
sizes = {}
for variant_name, dimensions in args.get('sizes').items():
if '%' in dimensions:
sizes[variant_name] = image.size
else:
width = int(dimensions.split('x')[0])
height = int(dimensions.split('x')[1])
widthAndHeight = (width, height)
sizes[variant_name] = widthAndHeight
for key, val in sizes.items():
imageName = key + '.' + srcPath.split('.')[1]
convertedImage = image.resize(val, Image.ANTIALIAS)
image.save(imageName)
print 'done'
我打电话给:
python image.py '{"sizes":{"large":"200x150","orig":"100%x100%"},"srcPath":"/Users/bobcobb/Desktop/avocado.png"}'
如果传入参数100%x100%
,那么我想调整大小为原始大小,否则,我想调整传入大小。因此,上面的代码将生成2个图像(一个原始,另一个200x150)。
现在,它只是将图像保存为两者的原始大小。我该如何解决这个问题?
答案 0 :(得分:1)
您的问题是已调整大小的图片已分配到convertedImage
,但您保存原始image
(以新文件名表示)。
所以改变这一行
image.save(imageName)
到
convertedImage.save(imageName)
解决了这个问题。