【问题标题】:Image not loading on mobile device图片无法在移动设备上加载
【发布时间】:2020-05-02 16:39:53
【问题描述】:

我有一个包含一些图像的应用程序,但是当我为我的 android 手机打包时,图像是空白的。现在在我的 kv 文件中,图像正在从我的 D 盘加载,那么我该如何让它们加载到我的手机上呢?

【问题讨论】:

    标签: python python-3.x image package kivy


    【解决方案1】:

    您应该至少提供在代码中绘制图像的部分。从你说的我只能猜测可能是什么原因。

    可能性:

    1) 使用 buildozer 编译时没有正确打包镜像

    2) 你的路径不正确

    3) 您在源路径中使用了“\”而不是“/”

    在您的 main.py 所在的同一目录中为您的图像创建一个目录,并将所有图片放入其中(例如目录名称“img”)。然后在文件中使用 os 获取文件所在目录的路径,然后使用“\”而不是“/”

    例子:

    PROJECT_PATH = os.path.dirname(os.path.realpath(__file__))
    
    Image(source="".join((PROJECT_PATH, "/img/your_img_file.png")), pos=self.pos, size=self.size)
    

    然后在编译之前将您的图像目录添加到您的规范文件中。

    # (list) List of inclusions using pattern matching
    source.include_patterns = img/*
    

    如果仍然无法正常工作,请提供一些代码以深入了解您的问题。希望对你有帮助。

    【讨论】:

    • 您好,感谢您的帮助,我的图片需要目录吗?现在它们在我的 main.py 和 kv 文件的文件夹中。目前,我使用Image: source: 'D:/A_Python/master1/circ10.png'。当我为 android 打包时,这种使用图像的方法会导致问题吗? (使用正确的缩进)
    • 我没试过这样打包,但总的来说应该问题不大。问题是为什么您不应该将它们放入目录中。对于小型项目和较少的图像,这不是问题,但是如果您的项目开始增长,当您的文件没有以结构化方式排序时,它会变得非常混乱。即使我的项目很小,我也总是使用目录结构(例如,文件夹:资产、图像、屏幕、kv_files 以及我定义路径、颜色等变量的设置文件)。
    • 编程不仅是编码部分,而且主要是您必须为项目提供易于阅读的结构以便以后扩展项目的简单部分。这是在小型项目上进行培训的好方法。
    • 我已经尝试使用该目录,但我认为我用错了,你所说的“真实路径”是什么意思。感谢您的所有帮助
    • 如果你像我的例子那样使用绝对路径,它应该可以工作。你能告诉我你的代码吗?你收到错误了吗?
    【解决方案2】:

    在打包过程中包含图像,然后使用相对于 main.py 的文件路径加载它们。

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 1970-01-01
      • 2015-09-29
      • 2013-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多