diff --git a/components/gui/example/gui_demo.c b/components/gui/example/gui_demo.c index fc4a361bab1585f5d3dfa4ed797d536f4b99b16c..901e21ff9ff60efa0e5fba14c52a599545d52796 100644 --- a/components/gui/example/gui_demo.c +++ b/components/gui/example/gui_demo.c @@ -9,7 +9,8 @@ #include #include -extern const static unsigned char _picture_png[]; +extern const unsigned char _picture_png[]; +extern int _picture_png_length_get(void); static rt_bool_t show_demo(struct rtgui_win *win) { @@ -40,7 +41,7 @@ static rt_bool_t show_demo(struct rtgui_win *win) rtgui_rect_t draw_rect; struct rtgui_image *img; - img = rtgui_image_create_from_mem("png", _picture_png, sizeof(_picture_png), RT_TRUE); + img = rtgui_image_create_from_mem("png", _picture_png, _picture_png_length_get(), RT_TRUE); if (img != RT_NULL) { draw_rect.x1 = rect.x2 / 2 + (rect.x2 / 2 - img->w) / 2; diff --git a/components/gui/example/resources.c b/components/gui/example/resources.c index 06c0e0fcae83543ba3dc9ed2bec5b5218fe05224..99fd805c1dd52113b1fc3d56f20f716c412e7a64 100644 --- a/components/gui/example/resources.c +++ b/components/gui/example/resources.c @@ -1,4 +1,4 @@ -const static unsigned char _picture_png[] = { +const unsigned char _picture_png[] = { 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0xbe,0x00,0x00,0x00,0x4a,0x08,0x06,0x00,0x00,0x00,0x05,0x77,0xee, 0x92,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b, @@ -1393,3 +1393,8 @@ const static unsigned char _picture_png[] = { 0x1f,0x00,0x4b,0xa8,0x7e,0x3f,0xd2,0x12,0x11,0x79,0x00,0x00,0x00,0x00,0x49,0x45, 0x4e,0x44,0xae,0x42,0x60,0x82, }; + +int _picture_png_length_get(void) +{ + return sizeof(_picture_png); +}