python-3.x - Kivy:长图未显示
问题描述
我有一个非常基本的程序用于测试目的。这是Python代码:
class TestImage(BoxLayout):
pass
class TestApp(App):
def build(self):
return TestImage()
if __name__ == "__main__":
TestApp().run()
这是kv代码。
<TestImage>:
orientation: 'vertical'
Image:
id: bg_img
keep_ratio: True
allow_stretch: True
size_hint_y: None
height: Window.height
source: 'template.jpg'
这只是基本图像,目标是滚动浏览这个长图像。但出于测试目的,我使用了一个简单的 boxlayout。其他图像工作正常。但是这个特定的图像没有。此图像是使用 numpy 和 opencv 使用以下代码片段生成的:
import numpy as np
import cv2 as cv
test_img = np.full((11400, 2550, 3), 255, np.uint8)
cv.imwrite('template.jpg', test_img)
Kivy 只显示黑屏。我怎样才能设法显示这个图像?我尝试过的事情:
- 将图像转换为其他格式(png/tiff)仍然不起作用
- 操作 kv 文件中的大小。
解决方案
显然,我超出了控制台日志中指出的能够呈现的最大大小:
[INFO] [GL ] Texture max size 8192.
就我而言,它是 8192。除此之外,kivy 显示黑屏。解决方案是以这样一种方式将图像切碎/调整大小,以使其在限制范围内形成合理的大小
推荐阅读
- java - 如何解决 IllegalArgumentException 错误?
- swift - 如何根据标签文本快速制作tableview行和标签高度?
- vue.js - 为什么textmate在关闭选项卡后会修改文件mtime?
- ios - UIWebview 不推荐使用的 API 使用
- javascript - jestjs 将错误抛出为`TypeError:_App.default 不是构造函数`
- bash - Shell 脚本模式在特定关键字之前的字符串变量中插入逗号
- java - for循环中的代码没有执行
- mysql - 基于 MySQL 的消息队列
- android - 编辑文本中的文本在android中未垂直对齐
- asp.net - 禁止(未设置 CSRF cookie。):