Kivy'de url ile Resim Gösterme

Merhabalar,
Kivyde resim gostermek icin Image sınıfı kullaniliyor.Ama bu Image sınıfı sadece bizde olan resimleri gosteriyor.İnternet uzerindeki resimleri gostermiyor.(kısaca Image sinifinin source parametresine url adi veremiyorum).Anladigima gore bu is AsyncImage
sinifi ile ya da Loader sınıfı ile oluyor.Ancak bu sınıflari nasil kullanacagımı bilmiyorum.İngilizce ve Turkce olarak cok arastirdim.Sadece kivynin resmi sitesindeki dokumanlara rastladim.Onu da tam olarak anlayabilmis degilim malesef.Asagidaki kodlari calistirdigimda once yuklenme ikonu geliyor,ardından o ikon kırmızı minik bir carpi isaretine donusuyor,resmi gostermiyor.Ne yapmaliyim acaba?Simdiden yardimlariniz icin tesekkurler.

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.relativelayout import RelativeLayout
from kivy.loader import Loader
from kivy.uix.image import AsyncImage
from kivy.uix.button import Button
from kivy.lang import Builder



kv = """
BoxLayout:
    orientation: "vertical"
    RelativeLayout:
        AsyncImage:        	
            source: r"https://www.sololearn.com/Icons/Courses/1073.png"
    BoxLayout:
        Button:
            text: "resim_yukleme"
"""
#class yukleme(RelativeLayout):
   # pass
class foto(App):

    def build(self):
       
        #düzen = BoxLayout(orientation = "vertical")
        #aimg = AsyncImage(source = "https://www.sololearn.com/Icons/Courses/1073.png")
        #düzen.add_widget(aimg)
       
        #return düzen
        return Builder.load_string(kv)




foto().run()


Yukleniyor ikonu gozukuyorkenki hali

Bu da size bahsettigim kırmızı minik carpi isareti

Şu sayfayı inceleyebilirsiniz. Eğer, apk halinde çalıştırıyorsanız, gerekli izinleri verdiğinizden emin olun

https://kivy.org/docs/api-kivy.loader.html

Basit bir şekilde

from kivy.loader import Loader
image = Loader.image('http://mysite.com/test.png')

yazabilirsiniz

1 Beğeni

Sorun yüklemeye çalıstığınız resmin https bağlantısı olmalı,

kodun başına şunu ekleyip.deneyin.

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

eğer resim yüklenirse apk ya çevirdiğiniz zaman bunu silip yerine requirements’e openssl eklmeyi unutmayın, yoksa uygulama açılmaz…

birde AsyncImage altına şunları da ekleyin ki resim tam boyutlu görüntülensin

keep_ratio: False
allow_stretch: True

1 Beğeni

Akıllı tahtada AsyncImage sorunsuz calisiyor.(Ama ne hikmetse pydroidde resim yuklenemedi.)Tesekkurler.Mantıgını cozmus sayılırım AsyncImage nin.Istedigimi saglıyor simdilik.

Su anda apk ya donusturmedim kodlarımı.Eger apk yaparken bir sorunla karsılasırsam sorarım yine.Tesekkurler cevap verdiginiz icin bu arada.

Bana yeni bir sey ogrettiniz.Cok tesekkur ederim.