如何解决ImageMagick 的转换输出乱码图片
原文:
(本练习中不允许使用任何现成的 Python 库)
@app.route("/flip",methods=["POST"])
def flip():
# retrieve parameters from html form
if 'horizontal' in request.form['mode']:
direction = 90
elif 'vertical' in request.form['mode']:
direction = -90
filename = request.form['image']
# open and process image
target = os.path.join(APP_ROOT,'static/images')
destination = "/".join([target,filename])
img = Image.open(destination)
subprocess.call(['C:\Program Files\ImageMagick-7.0.10-Q16-HDRI\magick.exe','convert',f'{destination}','-rotate',f'{direction}',f'{destination}'],shell=True)
# save and return image
destination = "/".join([target,'flipped.jpg'])
if os.path.isfile(destination):
os.remove(destination)
img.save(destination)
return send_image('flipped.jpg')
编辑:当我将 subprocess.call
中的目标图像设置为 flipped.jpg
时 - 输出是原始图像。为什么?
解决方法
已解决:
if 'horizontal' in request.form['mode']:
direction = 'flip'
elif 'vertical' in request.form['mode']:
direction = 'flop'
filename = request.form['image']
# open and process image
target = os.path.join(APP_ROOT,'static/images')
destination = "/".join([target,filename])
subprocess.call(['C:\Program Files\ImageMagick-7.0.10-Q16-HDRI\magick.exe','convert',f'{destination}','-'f'{direction}',f'{destination}'],shell=True)
return send_image(filename)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。