Как я могу преобразовать CGImageRef в PIL, не сохраняя изображение на диск в 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:
Не могли бы вы добавить минимальный, но полный и воспроизводимый сценарий для нас? Возможно, вы получите лучшие ответы, если вы это сделаете. – Rachcha
Что означает * не дает правильного изображения * означает, что это просто случайный мусор или он немного похож на ваш образ? Если последнее вы могли бы представить как ожидаемое, так и фактическое изображение. –
@ Rachcha Я обновил код примера, который используется – nom3kop