diff --git a/apps/plugins/lua/include_lua/image.lua b/apps/plugins/lua/include_lua/image.lua index c30e8ab556..71c6c46b1b 100644 --- a/apps/plugins/lua/include_lua/image.lua +++ b/apps/plugins/lua/include_lua/image.lua @@ -235,9 +235,12 @@ local _img = {} do elseif depth <= 16 then bpp = 16 bypl = (w * 2 + 3) - else + elseif depth <= 24 then bpp = 24 bypl = (w * 3 + 3) + else + bpp = 32 + bypl = (w * 4 + 3) end local linebytes = bit.band(bypl, bit.bnot(3)) @@ -294,12 +297,21 @@ local _img = {} do bmpheader[#bmpheader + 1] = bmp_color_mix(0xFFFFFF, 0, 2, 3) bmpheader[#bmpheader + 1] = bmp_color(0x0) elseif depth == 16 then - -- red bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000F800) - -- green bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000007E0) - -- blue bitfield mask - bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + if format == 565 then + -- red bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000F800) + -- green bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000007E0) + -- blue bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + else -- 555 + -- red bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x00007C00) + -- green bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x000003E0) + -- blue bitfield mask + bmpheader[#bmpheader + 1] = s_bytesLE(32, 0x0000001F) + end end dump_fbuffer(0) -- write the header to the file now diff --git a/apps/plugins/lua/lua.make b/apps/plugins/lua/lua.make index e36ace4759..2d24d7e815 100644 --- a/apps/plugins/lua/lua.make +++ b/apps/plugins/lua/lua.make @@ -16,7 +16,7 @@ LUA_OBJ := $(call c2obj, $(LUA_SRC)) OTHER_SRC += $(LUA_SRC) LUA_INCLUDEDIR := $(LUA_SRCDIR)/include_lua -LUA_INCLUDELIST = blit color draw image lcd math_ex print timer +LUA_INCLUDELIST := $(addprefix $(LUA_BUILDDIR)/,blit.lua color.lua draw.lua image.lua lcd.lua math_ex.lua print.lua timer.lua) ifndef APP_TYPE ifneq (,$(strip $(foreach tgt,RECORDER ONDIO,$(findstring $(tgt),$(TARGET))))) @@ -49,8 +49,8 @@ $(LUA_BUILDDIR)/rocklib_aux.c: $(APPSDIR)/plugin.h $(LUA_OBJ) $(LUA_SRCDIR)/rock $(LUA_BUILDDIR)/rocklib_aux.o: $(LUA_BUILDDIR)/rocklib_aux.c $(call PRINTS,CC $(