较小的位图图像不适用于 OLED SSD1306

问题描述

我已将 adafruit 库中的位图绘制函数添加到我的代码中。当我使用 128 * 64 大小的位图图像时一切正常,但是当我将其重新缩放到 36 * 36 时,图像无法正确显示

void ssd1306_DrawBitmap(int16_t x,int16_t y,const unsigned char* bitmap,int16_t width,int16_t height,uint16_t color){
  int16_t byteWidth = (width + 7) / 8; // Bitmap scanline pad = whole byte
  uint8_t byte = 0;

  for(int16_t j=0; j < height; j++,y++){
    for(int16_t i=0; i < width; i++){
      if(i & 7)
       byte <<= 1;
      else
       byte = bitmap[j * byteWidth + i / 8];
      
      if(byte & 0x80)
        ssd1306_DrawPixel(x+i,y,color);
    }
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)