numpy 배열로 만든 투명한 이미지를 저장해야합니다. 내가 가진 이미지를 저장할 수 있습니다PIL.Image.frombuffer()로 RGBA 이미지 저장
img = Image.fromarray(data, 'RGB')
을하지만 그것을 투명하게 할 필요가 그래서 나는 그것을 저장하려고 그런 다음
img = Image.fromarray(data, 'RGBA')
내가 얻을이 오류 :
File "/home/pi/Documents/Projet/GetPos.py", line 51, in click
img = Image.fromarray(data, 'RGBA')
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2217, in
fromarray
return frombuffer(mode, size, obj, "raw", rawmode, 0, 1)
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2162, in
frombuffer
core.map_buffer(data, size, decoder_name, None, 0, args)
ValueError: buffer is not large enough
I 약간의 연구를했지만 모든 일은 내가하려고하는 간단한 일로 매우 복잡해 보입니다 ... 누구든지이 하나에 대해 저를 도울 수 있습니까?
여기에 (내가 :) 파이썬에 아주 새로운 해요) 내 전체 코드입니다 :
가 transparant 이미지를 저장하기 위해mouse = pymouse.PyMouse()
posX, posY = mouse.position()
print(mouse.position())
w, h = 1920, 1080
data = np.zeros((h, w, 3), dtype=np.uint8)
for x in range(posX-20, posX+20):
if x > 1679:
data[posY, w-1] = [255, 0, 0]
else:
data[posY, x] = [255, 0, 0]
for y in range(posY-20, posY+20):
if y > 1049:
data[h-1, posX] = [255, 0, 0]
else:
data[y, posX] = [255, 0, 0]
img = Image.fromarray(data, 'RGBA')
##img = Image.frombuffer('RGBA', [1080, 1920], data, "raw", 'RGBA', 0, 1)
img.save('my.png')