2016-11-26 67 views
1

我注意到在多个小部件的画布上绘制纹理(使用矩形元素)时,一些小部件变得部分透明,允许后面的图像显示。Kivy Canvas Alpha问题

有没有办法阻止这种行为?

+0

我不熟悉这种行为,你能提供一个最小的可运行示例吗? – inclement

+0

没有具体的代码。我的应用程序如此细分... 1小部件类表示游戏世界。其他每个小部件都会从这个小部件中添加并删除。创建一个滚动视图来保存游戏世界小部件。我在其他模块中有代表游戏世界对象的小部件类。每个对象类都有它自己的一组小部件,可以从它的画布中呈现图像。每个图像都使用io.BytesIO方法进行处理并转换为纹理,然后以texture = bytesimage的形式绘制到画布的Rectangle矩形。 – chitondihk

+0

当我运行我的应用程序时,一些png图像是完全透明的,而其他图像是透明的。当我放大窗口时,我有一个调整每个窗口小部件的模块,当我放大窗口时,图像的透明渲染似乎正在洗牌。一些未被看透的小工具变得透明,而另一些小工具透过停止被看透。 Kivy 1.9.0 – chitondihk

回答

0

原来有人参与了kivy的开发,打破了一个mod/dll,它处理rgba,同时使用一个widget的背景属性和图像。 Canvas现在是用kivy绘制图形的唯一可靠方法。不要让桌面/笔记本电脑的视觉效果欺骗你。在您使用kivy启动程序运行应用程序或将其构建到apk中之前,您不会看到问题。

在Android上测试(不是ios)。