// Render pixel
// ToDo: This is a brutally slow way of rendering bitmaps ...
// update to pass one row of data at a time
- drawPixel(x + px, y + py - 1, drawRGB24toRGB565(buffer[(px * 3) + 2], buffer[(px * 3) + 1], buffer[(px * 3)]));
+ drawPixel(x + px, y + py - 1, colorsRGB24toRGB565(buffer[(px * 3) + 2], buffer[(px * 3) + 1], buffer[(px * 3)]));
}
}
#include "drivers/displays/tft/bmp.h"
- bmp_error_t error;
-
// Draw image.bmp (from the root folder) starting at pixel 0,0
- error = bmpDrawBitmap(0, 0, "/image.bmp");
+ bmp_error_t error = bmpDrawBitmap(0, 0, "/image.bmp");
- // Check 'error' for problems such as BMP_ERROR_FILENOTFOUND
+ if (error)
+ {
+ switch (error)
+ {
+ case BMP_ERROR_SDINITFAIL:
+ break;
+ case BMP_ERROR_FILENOTFOUND:
+ break;
+ case BMP_ERROR_NOTABITMAP:
+ // First two bytes of image not 'BM'
+ break;
+ case BMP_ERROR_INVALIDBITDEPTH:
+ // Image is not 24-bits
+ break;
+ case BMP_ERROR_COMPRESSEDDATA:
+ // Image contains compressed data
+ break;
+ case BMP_ERROR_INVALIDDIMENSIONS:
+ // Width or Height is > LCD size
+ break;
+ case BMP_ERROR_PREMATUREEOF:
+ // EOF unexpectedly reached in pixel data
+ break;
+ }
+ }
@endcode
*/
for (x = 0; x < lcdWidth; x++)
{
rgb565 = lcdGetPixel(x, y - 1); // Get RGB565 pixel
- bgra32 = drawRGB565toBGRA32(rgb565); // Convert RGB565 to 24-bit color
+ bgra32 = colorsRGB565toBGRA32(rgb565); // Convert RGB565 to 24-bit color
r = (bgra32 & 0x00FF0000) >> 16;
g = (bgra32 & 0x0000FF00) >> 8;
b = (bgra32 & 0x000000FF);