Отображение .png изображения в большом размере приводит к артефактам по краям - PullRequest
0 голосов
/ 26 апреля 2020

В киве я установил одно изображение в качестве фона. Затем я загружаю прозрачное изображение и использую его текстуру. Я отображаю прозрачную текстуру поверх фона.

Прозрачное изображение изначально имеет размер 384 на 216 пикселей. Если я отобразлю это прозрачное изображение как более крупное, это приведет к странному эффекту границы.

При size: 384, 216 изображения выглядят идеально (за исключением, конечно, размера): enter image description here

См. Увеличенное изображение:

enter image description here

При size : self.size изображение имеет желаемый размер, но оно содержит эти границы. enter image description here

См. Также увеличенное изображение:

enter image description here

Вопрос:

Что вызывает этот эффект? Как мне это убрать? Я собираюсь загружать изображения совершенно неправильно?

Полный код:

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

И файлы изображений:

  1. Фоновое изображение
  2. Transparentimage
...