如何在不将图像保存到 osx 上的磁盘的情况下将 CGImageRef 转换为 PIL?
我想从 CGImageRef 获取原始像素数据并使用 Image.fromstring() 来制作 PIL 图像
import mss
import Quartz.CoreGraphics as CG
from PIL import Image
mss = mss.MSSMac()
for i, monitor in enumerate(mss.enum_display_monitors(0)):
imageRef = mss.get_pixels(monitor)
pixeldata = CG.CGDataProviderCopyData(CG.CGImageGetDataProvider(imageRef))
img = Image.fromstring("RGB", (monitor[b'width'], monitor[b'height']), pixeldata)
img.show()
但这并没有给我正确的图像。
这是我期望的图像:
这是我在 PIL 中得到的图像: