【发布时间】:2019-10-01 01:57:23
【问题描述】:
我正在 Kivy 中编写简单的绘图应用程序。它在 iPhone 和 iPad 上运行良好,但Window.screenshot() 只返回黑屏。我做错了什么?另外,有没有办法让 screenshot() 直接保存在 dropbox/iCloud/Files-App 上?
class DrawInput(Widget):
def btn_save(self):
user_data_dir = App.get_running_app().user_data_dir
name = join(user_data_dir, "filename.png")
Window.screenshot(name)
def on_touch_down(self, touch):
with self.canvas:
Color(0, 0, 0)
touch.ud["line"] = Line(points = (touch.x, touch.y))
def on_touch_move(self, touch):
touch.ud["line"].points += (touch.x, touch.y)
def on_touch_up(self, touch):
pass
presentation = Builder.load_file("app_kivy.kv")
class drawingapp(App):
def build(self):
return presentation
if __name__=="__main__":
drawingapp().run()
基维:-
Screen:
name: "drawing"
on_pre_enter: drawing.canvas.clear()
FloatLayout:
DrawInput:
id: drawing
Button:
text: "finish"
on_press: drawing.btn_save()
我希望得到图纸的截图。
【问题讨论】:
-
你在其他平台(windows、Linux等)上测试过吗?
-
不,我没有。我既没有windows也没有linux。
-
您能否准备一个简单且可运行的简短应用程序,让您黑屏?黑屏的原因可能有很多,比如你在截屏前可能不小心把canvas.clear做了
-
我会在一分钟内完成,但是...应用程序会在计算机上返回正确的屏幕截图(在 Xcode 上运行之前)吗? '''window.screenshot()''' 在 python 中运行良好,只有在 iPhone 和 iPad 上安装后才会出现问题。
-
我在 GitHub 上添加了代码:github.com/ksgfan/drawing-app