擅长:python、mysql、java
<p>据我所知,您从一个<code>PIL Image</code>开始,希望在内存中获得一个PNG图像,而无需访问磁盘。所以你需要这个:</p>
<pre><code>#!/usr/bin/env python3
from PIL import Image
from io import BytesIO
# Create PIL Image like you have - filled with red
im = Image.new('RGB', (320,240), (255,0,0))
# Create in-memory PNG - like you want for Google Cloud Vision
buffer = BytesIO()
im.save(buffer, format="PNG")
# Look at first few bytes
PNG = buffer.getvalue()
print(PNG[:20])
</code></pre>
<p>它会打印出来,如果您将图像以PNG格式写入磁盘,然后将其以二进制格式读回,则会得到这样的结果-除了这一点,它在内存中执行,而不进入磁盘:</p>
<pre><code>b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01@'
</code></pre>