【问题标题】:python imaging library save functionpython成像库保存功能
【发布时间】:2017-08-17 21:44:40
【问题描述】:

我刚刚使用 python 图像库 (PIL) 进行了一些图像处理,但无法使用保存功能。整个代码工作正常,但它只是不会保存生成的图像。代码如下:

im=Image.new("rgb",(200,10),"#ddd")
draw=Image.draw.draw(im)
draw.text((10,10),"run away",fill="red")
im.save("g.jpeg")

保存为未知扩展名会出错,甚至删除点也无济于事。

【问题讨论】:

    标签: python python-imaging-library


    【解决方案1】:

    使用.jpg:

    im.save("g.jpg")
    

    图像库决定了扩展使用什么编码器,但在某些版本的 PIL 中,JPEG 编码器不注册.jpeg 扩展,只注册.jpg

    另一种可能是您的 PIL 安装根本不支持 JPEG;例如,尝试将图像保存为 PNG。

    【讨论】:

      【解决方案2】:

      替换

      draw=Image.draw.draw(im)
      

      draw = ImageDraw.Draw(im)
      

      并确保新图像的高度足以容纳文本。

      import Image
      import ImageDraw
      
      im = Image.new("RGB", (200, 30), "#ddd")
      draw = ImageDraw.Draw(im)
      draw.text((10, 10), "run away", fill="red")
      im.save("g.jpeg")
      

      产量

      【讨论】:

      • 这可能是特定于库的(参见 Martijn 的回答)。
      【解决方案3】:

      请以 .jpg 扩展名保存,例如:

      im.save("g.jpg")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-30
        • 1970-01-01
        • 2023-03-09
        • 2021-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多