2017-11-09 17 views
0
import io 
from io import BytesIO 
from PIL import ImageGrab, Image 

im = ImageGrab.grab() 
image_bytes = im.tobytes() 

img = Image.open(BytesIO(image_bytes)) 
img.show() 

위의 코드에서 ImageGrab에서 이미지를 가져 오려고합니다. 바이트로 변환하고 소켓을 통해 서버로 보내려고합니다. 그러나 그 전에 이미지를 보여주고 싶습니다. 이 코드에는 이미지 형식 (png 또는 jpg)에없는 것이 있다고 생각합니다. 하지만 특정 이미지 형식을 PNG 또는 JPG로 설정하기 위해이 코드를 어떻게 사용해야하는지에 대한 단서가 없습니다.OSError : 0x00000222C8A21360에서 이미지 파일 <_io.BytesIO 객체를 식별 할 수 없습니다.

답변

0

대신 Image.Save() 메서드를 사용했습니다. 그것은 먼저 디스크에 저장 한 다음 거기에서 복사하여 바이트로 변환하여 소켓으로 보냅니다.