2016-11-26 2 views
1

Я заметил, что при рисовании текстур (с использованием прямоугольников) на несколько холстов виджетов некоторые виджеты становятся частично прозрачными, что позволяет изображению заглянуть.Kavy Canvas Alpha Issue

Есть ли способ остановить это поведение?

+0

Я не знаком с этим поведением, можете ли вы предоставить минимальный исполняемый пример? – inclement

+0

Нет специального кода. Мое приложение разбито так: 1 класс виджета представляет игровой мир. Каждый другой виджет добавляется и удаляется из этого виджета. Для просмотра виджета игрового мира создается прокрутка. У меня есть классы виджетов в других модулях, которые представляют объекты игрового мира. Каждый класс объектов имеет собственный набор виджетов, которые отображают изображение с его холста. Каждое изображение легается с помощью метода io.BytesIO и преобразуется в текстуру, а затем нарисовано на прямоугольник прямоугольника холста как texture = bytesimage. – chitondihk

+0

Когда я запускаю свое приложение, некоторые PNG-изображения полностью прозрачны, а другие просматривают. У меня есть модуль, который изменяет размер каждого виджета, когда я увеличиваю масштаб окна, и когда я увеличиваю окно, прозрачное размывание изображений кажется перетасованным. Некоторые виджеты, которые не просматривались, становятся видимыми, а другие, которые видели, перестают видеть. Kivy 1.9.0 – chitondihk

ответ

0

Оказывается, кто-то, участвовавший в разработке kivy, разбил мод/dll, который имеет дело с rgba при использовании свойств фона виджета с изображением. Canvas теперь единственный надежный способ рисовать графику с kivy. Не позволяйте настольным/портативным визуальным устройствам обмануть вас. Вы не увидите эту проблему, пока не запустите приложение с помощью kivy launcher или не создадите его в apk.

Протестировано на Android (не ios).