微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ImageMagick 的转换输出乱码图片

如何解决ImageMagick 的转换输出乱码图片

我有下面的代码。出于某种原因,它输出这个乱码的图像:

enter image description here

原文:

enter image description here

(本练习中不允许使用任何现成的 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 举报,一经查实,本站将立刻删除。