Quellcode durchsuchen

fix:scale不应有0的情况

Dozingfiretruck vor 3 Jahren
Ursprung
Commit
9035b1e20c
2 geänderte Dateien mit 6 neuen und 1 gelöschten Zeilen
  1. 5 1
      components/eink/luat_lib_eink.c
  2. 1 0
      components/lcd/luat_lib_lcd.c

+ 5 - 1
components/eink/luat_lib_eink.c

@@ -848,15 +848,19 @@ static int l_eink_qrcode(lua_State *L)
     if (ok){
         int qr_size = qrcodegen_getSize(qrcode);
         int scale = size / qr_size ;
+        if (!scale)scale = 1;
         int margin = (size - qr_size * scale) / 2;
         x+=margin;
         y+=margin;
         for (int j = 0; j < qr_size; j++) {
             for (int i = 0; i < qr_size; i++) {
-                if (qrcodegen_getModule(qrcode, i, j))
+                if (qrcodegen_getModule(qrcode, i, j)){
                     Paint_DrawFilledRectangle(&econf.ctxs[econf.ctx_index]->paint,x+i*scale,y+j*scale,x+(i+1)*scale,y+(j+1)*scale,COLORED);
+                }
             }
         }
+    }else{
+      LLOGE("qrcodegen_encodeText %d",ok);
     }
     if (qrcode)
         luat_heap_free(qrcode);

+ 1 - 0
components/lcd/luat_lib_lcd.c

@@ -630,6 +630,7 @@ static int l_lcd_drawQrcode(lua_State *L)
     if (ok){
         int qr_size = qrcodegen_getSize(qrcode);
         int scale = size / qr_size ;
+        if (!scale)scale = 1;
         int margin = (size - qr_size * scale) / 2;
         luat_lcd_draw_fill(default_conf,x,y,x+size,y+size,BACK_COLOR);
         x+=margin;