目录
异步数据加载器¶
这是异步加载器。您可以使用它来加载图像并使用,即使数据尚未可用。使用加载器时,您必须指定一个默认的加载图像::
from kivy.loader import Loader
image = Loader.image('mysprite.png')
你也可以从URL加载图像::
image = Loader.image('http://mysite.com/test.png')
如果你想更改默认的加载图片,可以这样做:
Loader.loading_image = Image('another_loading.png')
调整异步加载器¶
在 1.6.0 版本加入.
你可以根据将要加载的图片类型,调整加载器以提供更好的用户体验或更高的性能。请查看以下参数:
Loader.num_workers- 定义用于加载图像的线程启动数量。Loader.max_upload_per_frame- 定义每帧在GPU中执行的最大图像上传次数。
- class kivy.loader.LoaderBase[源代码]¶
基类:
objectLoader 和具体实现的公共基类。默认情况下,Loader 将是最佳可用的加载器实现。
_update() 函数每 1/25 秒调用一次,或者如果帧率低于 25 FPS,则每帧调用一次。
- property error_image¶
用于错误的图像。您可以通过以下方式更改它:
Loader.error_image = 'error.png'
在 1.6.0 版本发生变更: 不再是只读的了。
- image(filename, load_callback=None, post_callback=None, **kwargs)[源代码]¶
使用Loader加载图像。返回一个带有加载图像的ProxyImage。您可以按如下方式使用它:
from kivy.app import App from kivy.uix.image import Image from kivy.loader import Loader class TestApp(App): def _image_loaded(self, proxyImage): if proxyImage.image.texture: self.image.texture = proxyImage.image.texture def build(self): proxyImage = Loader.image("myPic.jpg") proxyImage.bind(on_load=self._image_loaded) self.image = Image() return self.image TestApp().run()
要取消所有后台加载,请调用 Loader.stop()。
- property loading_image¶
用于加载的图像。您可以通过以下方式更改它:
Loader.loading_image = 'loading.png'
在 1.6.0 版本发生变更: 不再是只读的了。
- property max_upload_per_frame¶
每帧上传的图像数量。默认情况下,我们每帧只向GPU上传2张图像。如果你上传的是许多小图像,可以轻松地将此参数增加到10或更多。如果你加载的是多张全高清图像,上传时间可能会产生影响并阻塞应用程序。如果你希望获得流畅的体验,请使用默认值。
实际上,一张全高清RGB图像在内存中大约占用6MB,因此可能需要一些时间。如果您还启用了`mipmap=True`,那么GPU也必须实时计算这些大图像的mipmap。此时,最好将`:attr:`max_upload_per_frame``减少到1或2。如果您想消除这个问题(或大幅减少它),请查看DDS格式。
在 1.6.0 版本加入.
- property num_workers¶
加载时使用的工人数量(仅在加载器实现支持时生效)。此设置仅在初始化时影响加载器。一旦加载器启动,该设置将不再产生影响::
from kivy.loader import Loader Loader.num_workers = 4
默认值为2,以确保流畅的用户体验。您可以增加工作线程数量,这样所有图片将加载得更快,但加载期间用户将无法使用应用程序。在1.6.0版本之前,默认数量为20,加载大量全高清图片时会完全阻塞应用程序。
在 1.6.0 版本加入.
- class kivy.loader.ProxyImage(arg, **kwargs)[源代码]¶
基类:
ImageLoader.image() 函数返回的图像。
- 属性:
- loaded:布尔值,默认为 False
如果图像已被缓存,此值可能为 True。
- 事件:
- on_load
当图像加载或更改时触发。
- on_error
当图片无法加载时触发。error:发生的异常数据