我正在尝试上传已转换为灰度的图像,如下所示:
blob_path = os.path.join(os.path.split(__file__)[0], 'static/img/blob-masks/1.png')
blob = Image.open(blob_path).convert('L')
buffer = StringIO()
blob.save(buffer)
upload_image(buffer.getvalue(),"foo.png")
但它似乎只是上传了一个黑色方块。
如果我到命令行python并运行:
col = Image.open("/static/img/blob-masks/5.png")
col.convert('L')
col.save("result_bw.png")
result_bw.png
很完美。出了什么问题?
答案 0 :(得分:0)
您有什么理由不能在转换后上传灰度图像吗?像:
image = Image.open('static/img/blob-masks/1.png')
image.convert('L')
image.save("temp/bw.png")
upload_image("temp/bw.png")
# maybe delete the temporary file when you're done
import os
os.remove("temp/bw.png")
我不确定你的upload_image()函数是如何工作的,但是当我使用django上传时,如果我进行任何操作,我会写一个临时文件,然后重新导入。如果我根本不操纵图像,我可以直接上传。