现在我想用 base64 编码部分图像,我确实做到了。例如,这是一个 1080x1920 的图像,但需要此图像的一部分。
上:160,左:340,右:1024,下:650。
# first crop
im = Image.open(original)
region = im.crop((160, 340, 1024, 650))
clip_image = os.path.join(screenshot_dir, 'clip.png')
region.save(clip_image)
// then read
f = open(clip_image, 'rb')
ls_f = base64.b64encode(f.read())
f.close()
s = bytes.decode(ls_f)
在我看来,也许我不必保存调整大小的图像,我可以直接读取该图像的一部分。如果是这样,程序可以运行得更快,因为没有额外的IO
操作。