我在通过Windows 10上的PIL.Image.save函数保存屏幕截图时遇到问题。 PIL.Image.show()函数可以正常工作,并且可以按预期表示屏幕快照,但是保存功能可以将图像保存为全黑图片。 使用PIL内部功能可以正常保存图片吗?
spring.datasource.url=jdbc:postgresql://localhost:5432/<database name>
答案 0 :(得分:0)
这里的问题是您要处理两个函数。
因此,您的函数将创建局部变量。
因此,保存功能中的“屏幕”为空->将为黑色。
以供参考:Python Global, Local and Nonlocal variables
from PIL import ImageGrab
import os
from PIL import Image
path='C:/ProgramData/'
player_id='1'
player_name='player'
_format='PNG'
pic_name = player_id + '.' + _format
screen = Image.Image
screen = Image.new("RGB", (1280, 720), 0)
def make_screen_shot():
try:
screen = ImageGrab.grab()
screen.show()
save_pic(screen)
except IOError:
return False
else:
return True
def save_pic(image):
screen = image
pic_name = player_id + '.' + _format
try:
screen.save("test.png") #here you can use your save function just renamed for testing
except IOError:
return False
else:
return True
make_screen_shot()
这将起作用:) 您也可以创建全局变量或直接将其保存在上面。