В киве я установил одно изображение в качестве фона. Затем я загружаю прозрачное изображение и использую его текстуру. Я отображаю прозрачную текстуру поверх фона.
Прозрачное изображение изначально имеет размер 384 на 216 пикселей. Если я отобразлю это прозрачное изображение как более крупное, это приведет к странному эффекту границы.
При size: 384, 216
изображения выглядят идеально (за исключением, конечно, размера):
См. Увеличенное изображение:
При size : self.size
изображение имеет желаемый размер, но оно содержит эти границы.
См. Также увеличенное изображение:
Вопрос:
Что вызывает этот эффект? Как мне это убрать? Я собираюсь загружать изображения совершенно неправильно?
Полный код:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.uix.image import Image
class ScrollApp(App):
def build(self):
return Background()
class Background(Widget):
plx_2 = ObjectProperty(None)
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.plx_2 = Image(source=r"assets\plx-2.png").texture
if __name__=='__main__':
ScrollApp().run()
и .kv
файл:
#:kivy 1.11.1
<Background>:
canvas.before:
Rectangle:
size : self.size
pos : self.pos
source: "assets\plx-1.png"
Rectangle:
# size: 384, 216 # this does not show the borders
size : self.size # this displays borders
texture: self.plx_2
И файлы изображений:
- Фоновое изображение
- Transparentimage