@@ -24,7 +24,7 @@ def onCreate(self):
2424self .image .center ()
2525self .image .add_flag (lv .obj .FLAG .CLICKABLE )
2626#self.image.add_event_cb(self.print_events, lv.EVENT.ALL, None)
27- # self.image.add_event_cb(lambda e: self.toggle_fullscreen(),lv.EVENT.CLICKED,None)
27+ self .image .add_event_cb (lambda e :self .toggle_fullscreen (),lv .EVENT .CLICKED ,None )
2828self .label = lv .label (screen )
2929self .label .set_text ('Loading images from\n {self.imagedir}' )
3030self .label .align (lv .ALIGN .TOP_MID ,0 ,0 )
@@ -57,7 +57,7 @@ def onResume(self, screen):
5757self .images .clear ()
5858for item in os .listdir (self .imagedir ):
5959print (item )
60- if item .endswith (".jpg" )or item .endswith (".jpeg" )or item .endswith (".png" ):
60+ if item .endswith (".jpg" )or item .endswith (".jpeg" )or item .endswith (".png" )or item . endswith ( ".raw" ) :
6161fullname = f"{ self .imagedir } /{ item } "
6262size = os .stat (fullname )[6 ]
6363print (f"size:{ size } " )
@@ -178,7 +178,27 @@ def show_next_image(self, event=None):
178178def show_image (self ,name ):
179179try :
180180self .label .set_text (name )
181- self .image .set_src (f"M:{ name } " )
181+ if name .endswith (".raw" ):
182+ f = open (name ,'rb' )
183+ image_data = f .read ()
184+ print (f"loaded{ len (image_data )} bytes" )
185+ f .close ()
186+ w = 240
187+ h = 240
188+ image_dsc = lv .image_dsc_t ({
189+ "header" : {
190+ "magic" :lv .IMAGE_HEADER_MAGIC ,
191+ "w" :w ,
192+ "h" :h ,
193+ "stride" :w * 2 ,
194+ "cf" :lv .COLOR_FORMAT .RGB565
195+ },
196+ 'data_size' :w * h * 2 ,
197+ 'data' :image_data
198+ })
199+ self .image .set_src (image_dsc )
200+ else :
201+ self .image .set_src (f"M:{ name } " )
182202self .scale_image ()
183203except Exception as e :
184204print (f"show_image got exception:{ e } " )