Matrix.drawBMP()

来自Microduino Wikipedia
跳转至: 导航搜索

Matrix. drawBMP(x,y,w,h,data)


描述

用来显示一个BMP图片。

参数

  • x:点阵横坐标,从0开始算起
  • y:点阵纵坐标,从0开始算起
  • w:图片宽
  • h: 图片高
  • data:图片数据


返回值

示例

彩色点阵:Sensor-Dot Matrix-Color/zh画图

#include <Microduino_Matrix.h>

uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x1
  {64}      //点阵IIC地址
};

Matrix display = Matrix(Addr, TYPE_COLOR); //TYPE_COLOR or TYPE_S2


//取模软件下载地址:https://wiki.microduino.cn/index.php/File:PCtolCD.zip
//取模方法:逆向(低位在前)、逐行、阴码
static const uint8_t logoA[] PROGMEM = {   //低位在前 逐行
  0x00, 0x00, 0x14, 0x2A, 0x2A, 0x2A, 0x00, 0x00
};
static const uint8_t loveA[] PROGMEM = {   //低位在前 逐行
  0x00, 0x36, 0x49, 0x41, 0x22, 0x14, 0x08, 0x00
};
static const uint8_t loveB[] PROGMEM = {   //低位在前 逐行
  0x00, 0x36, 0x7F, 0x7F, 0x3E, 0x1C, 0x08, 0x00
};
static const uint8_t small[] PROGMEM = {   //低位在前 逐行
  0x00, 0x22, 0x55, 0x00, 0x00, 0x22, 0x1C, 0x00
};

//BMP转hex工具:https://www.microduino.cn/wiki/index.php/File:DataToHex.zip
//教程:https://wiki.microduino.cn/index.php/Microduino%E7%82%B9%E9%98%B5%E6%A8%A1%E5%9D%97%E6%98%BE%E7%A4%BABMP%E5%BD%A9%E5%9B%BE/zh
static const uint8_t logoB[] PROGMEM = {  //Windows Bitmap (BMP) file,24bit
  0x42, 0x4D, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,
  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0x20, 0x2E, 0x00, 0x00, 0x20, 0x2E, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFF, 0xEE, 0xEE, 0xEE,
  0xEE, 0xEE, 0xFF, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFF, 0xEE, 0xEE, 0xEE, 0xEE, 0xDD, 0xEE, 0xEE,
  0xEE, 0x4D, 0x8E, 0x65, 0x26, 0x94, 0x50, 0x26, 0x94, 0x50, 0x26, 0x94, 0x50, 0x26, 0x94, 0x50,
  0x24, 0x60, 0x51, 0xEE, 0xEE, 0xDD, 0xEE, 0xEE, 0xEE, 0xDD, 0xBB, 0x99, 0xDD, 0xBB, 0x99, 0x4B,
  0x94, 0xD4, 0x2B, 0x69, 0x96, 0xCC, 0xBB, 0x84, 0xCC, 0xAA, 0x88, 0xFF, 0xEE, 0xDD, 0xFF, 0xEE,
  0xEE, 0xC7, 0xBB, 0x99, 0x50, 0xB2, 0x70, 0x26, 0x94, 0x50, 0x26, 0x94, 0x50, 0x47, 0x94, 0x4D,
  0xCC, 0xAA, 0x88, 0xEE, 0xEE, 0xDD, 0xEE, 0xEE, 0xEE, 0xDB, 0xCC, 0xB3, 0x53, 0xBB, 0x88, 0x53,
  0xBB, 0x88, 0x53, 0xBB, 0x88, 0x26, 0x94, 0x50, 0xB5, 0xAA, 0x92, 0xEE, 0xEE, 0xDD, 0xFF, 0xEE,
  0xEE, 0xDD, 0xDD, 0xCC, 0x53, 0xBB, 0x88, 0x3A, 0xD5, 0x95, 0x53, 0xBB, 0x88, 0x48, 0xAF, 0x50,
  0xCC, 0xAA, 0x99, 0xEE, 0xEE, 0xDD, 0xEE, 0xEE, 0xEE, 0xE2, 0xCB, 0xCD, 0x53, 0xBB, 0x88, 0x53,
  0xBB, 0x88, 0x3A, 0xD5, 0x95, 0x50, 0xB2, 0x70, 0xD6, 0xBB, 0xB1, 0xFF, 0xEE, 0xDD, 0xDD, 0xEE,
  0xEE, 0xEE, 0xEE, 0xEE, 0xFF, 0xFF, 0xEE, 0xEE, 0xEE, 0xEE, 0xFF, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
  0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xDD, 0x00, 0x00,
};

void setup() {
  Wire.begin();
  display.setBrightness(255);
  display.clearDisplay();
}

void loop() {
  display.clearDisplay();
  display.setColor(0, 255, 0);
  display.drawBMP(0, 0, 8, 8, logoA);  //x,y,w,h,data
  delay(2000);

  display.clearDisplay();
  display.setColor(255, 0, 0);
  display.drawBMP(0, 0, 8, 8, loveA);  //x,y,w,h,data
  delay(2000);

  display.clearDisplay();
  display.drawBMP(0, 0, 8, 8, loveB);  //x,y,w,h,data
  delay(2000);

  display.clearDisplay();
  display.setColor(255, 0, 255);
  display.drawBMP(0, 0, 8, 8, small);  //x,y,w,h,data
  delay(2000);

  display.clearDisplay();
  //Windows Bitmap (BMP) file,24bit
  display.drawBMP(0, 0, logoB);   //x,y,data
  delay(2000);
}


多个彩色点阵BMP图:【Microduino点阵模块显示BMP彩图/zh}}】
单色点阵:Sensor-Dot Matrix-Color/zh画图

#include <Microduino_Matrix.h>

uint8_t Addr[MatrixPix_X][MatrixPix_Y] = {  //1x1
  {64}      //点阵IIC地址
};

Matrix display = Matrix(Addr, TYPE_S2); //TYPE_COLOR or TYPE_S2

//取模软件下载地址:https://wiki.microduino.cn/index.php/File:PCtolCD.zip
//取模方法:逆向(低位在前)、逐行、阴码
static const uint8_t logoA[] PROGMEM = {
  0x00, 0x00, 0x14, 0x2A, 0x2A, 0x2A, 0x00, 0x00
};
static const uint8_t loveA[] PROGMEM = {
  0x00, 0x36, 0x49, 0x41, 0x22, 0x14, 0x08, 0x00
};
static const uint8_t loveB[] PROGMEM = {
  0x00, 0x36, 0x7F, 0x7F, 0x3E, 0x1C, 0x08, 0x00
};
static const uint8_t small[] PROGMEM = {
  0x00, 0x22, 0x55, 0x00, 0x00, 0x22, 0x1C, 0x00
};
void setup() {
  Wire.begin();
  display.setBrightness(255);
}

void loop() {
  display.clearDisplay();
  display.drawBMP(0, 0, 8, 8, logoA);  //x,y,w,h,data
  delay(2000);
  display.clearDisplay();
  display.drawBMP(0, 0, 8, 8, loveA);  //x,y,w,h,data
  delay(2000);
  display.clearDisplay();
  display.drawBMP(0, 0, 8, 8, loveB);  //x,y,w,h,data
  delay(2000);
  display.clearDisplay();
  display.drawBMP(0, 0, 8, 8, small);  //x,y,w,h,data
  delay(2000);
}


其他



返回Dot_Matrix_Reference界面