데스크탑의 gif 파일 데이터를 원격 데스크톱 (데스크톱 공유 용) 소켓을 통해 보내려고하지만 PIL을 사용하여 데이터 문자열을 가져올 수 없습니다. 어떻게해야할지 모르겠습니다. 문자열에 Pil 개체를 변환, 여기 내 코드 (btw 나는 그냥 파일에 쓸 수있는 그런 다음 같은 데이터를 읽을 수 있지만 비효율적 인 생각하고 거기에 더 좋은 방법이있을 것 같아?).파이썬 PIL 이미지 개체에서 문자열 데이터를 가져 오는 방법은 무엇입니까?
from PIL import ImageGrab
import cStringIO
fakie = cStringIO.StringIO()
ImageGrab.grab().save(fakie, 'GIF')
data = fakie.getvalue()
fakie.close()
# This last bit of code is to see if the var data stored the right info in a str bc i need to send it through a socket
with open('C:\something\something\Desktop\image.gif', 'w') as f:
f.write(data)
문제는 파일이 작성된 후 GIF 사진 만 페이지 (GIF 파일이 엉망)의 상단 1/10 표시하고, 그래서 난 문제가 내부에있는 경우 궁금하네요 것을 내 컴퓨터 또는 나의 코드 (나는 아주 오래된 컴퓨터에 비스타를 사용하고있다. 적어도 6 년은 내가 생각하고 곧 새로운 것을 얻는다). 모든 입력을 부탁드립니다.
"wb"인수로 gif 파일을 열어보십시오. – HYRY
'Image.tostring()'메서드는 어떤가요? – wim
고맙습니다. – Baboon