62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
| // Example sketch to demonstrate the drawing of X BitMap (XBM)
 | |
| // format image onto the display.
 | |
| 
 | |
| // Information on the X BitMap (XBM) format can be found here:
 | |
| // https://en.wikipedia.org/wiki/X_BitMap
 | |
| 
 | |
| // This example is part of the TFT_eSPI library:
 | |
| // https://github.com/Bodmer/TFT_eSPI
 | |
| 
 | |
| // Created by Bodmer 23/04/18
 | |
| 
 | |
| #include "xbm.h"             // Sketch tab header for xbm images
 | |
| 
 | |
| #include <TFT_eSPI.h>        // Hardware-specific library
 | |
| 
 | |
| TFT_eSPI tft = TFT_eSPI();   // Invoke library
 | |
| 
 | |
| 
 | |
| void setup()
 | |
| {
 | |
|   tft.begin();               // Initialise the display
 | |
|   tft.fillScreen(TFT_BLACK); // Black screen fill
 | |
| }
 | |
| 
 | |
| void loop()
 | |
| {
 | |
| 
 | |
|   // Example 1
 | |
|   // =========
 | |
|   // Random x and y coordinates
 | |
|   int x = random(tft.width()  - logoWidth);
 | |
|   int y = random(tft.height() - logoHeight);
 | |
| 
 | |
|   // Draw bitmap with top left corner at x,y with foreground only color
 | |
|   // Bits set to 1 plot as the defined color, bits set to 0 are not plotted
 | |
|   //              x  y  xbm   xbm width  xbm height  color
 | |
|   tft.drawXBitmap(x, y, logo, logoWidth, logoHeight, TFT_WHITE);
 | |
| 
 | |
|   delay(500);
 | |
| 
 | |
|   // Erase old one by drawing over with background colour
 | |
|   tft.drawXBitmap(x, y, logo, logoWidth, logoHeight, TFT_BLACK);
 | |
| 
 | |
| 
 | |
|   // Example 2
 | |
|   // =========
 | |
|   // New random x and y coordinates
 | |
|   x = random(tft.width()  - logoWidth);
 | |
|   y = random(tft.height() - logoHeight);
 | |
| 
 | |
|   // Draw bitmap with top left corner at x,y with foreground and background colors
 | |
|   // Bits set to 1 plot as the defined fg color, bits set to 0 are plotted as bg color
 | |
|   //              x  y  xbm   xbm width  xbm height  fg color   bg color
 | |
|   tft.drawXBitmap(x, y, logo, logoWidth, logoHeight, TFT_WHITE, TFT_RED);
 | |
| 
 | |
|   delay(500);
 | |
| 
 | |
|   // Erase old one by drawing over with background colour
 | |
|   tft.drawXBitmap(x, y, logo, logoWidth, logoHeight, TFT_BLACK, TFT_BLACK);
 | |
| 
 | |
| }
 |