diff --git a/src/include/Image.h b/src/include/Image.h index 2913c4e0..e61481b6 100644 --- a/src/include/Image.h +++ b/src/include/Image.h @@ -79,7 +79,7 @@ class Image : virtual public NetworkClient, virtual public Adafruit_GFX void drawBitmap3Bit(int16_t _x, int16_t _y, const unsigned char *_p, int16_t _w, int16_t _h); - bool drawBitmapFromBuffer(uint8_t *buf, int x, int y, bool dither, bool invert); + bool drawBitmapFromBuffer(const uint8_t *buf, int x, int y, bool dither = 0, bool invert = 0); bool drawBitmapFromSd(const char *fileName, int x, int y, bool dither = 0, bool invert = 0); bool drawBitmapFromSd(SdFile *p, int x, int y, bool dither = 0, bool invert = 0); @@ -87,7 +87,7 @@ class Image : virtual public NetworkClient, virtual public Adafruit_GFX bool drawBitmapFromWeb(const char *url, int x, int y, bool dither = 0, bool invert = 0); bool drawBitmapFromWeb(WiFiClient *s, int x, int y, int32_t len, bool dither = 0, bool invert = 0); - bool drawJpegFromBuffer(uint8_t *buf, int32_t len, int x, int y, bool dither, bool invert); + bool drawJpegFromBuffer(uint8_t *buf, int32_t len, int x, int y, bool dither = 0, bool invert = 0); bool drawJpegFromSd(const char *fileName, int x, int y, bool dither = 0, bool invert = 0); bool drawJpegFromSd(SdFile *p, int x, int y, bool dither = 0, bool invert = 0); diff --git a/src/include/ImageBMP.cpp b/src/include/ImageBMP.cpp index a7fea934..330dd182 100644 --- a/src/include/ImageBMP.cpp +++ b/src/include/ImageBMP.cpp @@ -326,7 +326,10 @@ void Image::displayBmpLine(int16_t x, int16_t y, bitmapHeader *bmpHeader, bool d writePixel(x + j, y, (!invert ^ (palette[0] > palette[1])) ^ !!(pixelBuffer[j >> 3] & (1 << (7 - (j & 7))))); #else - writePixel(x + j, y, (invert ^ (palette[0] > palette[1])) ^ !!(pixelBuffer[j >> 3] & (1 << (7 - (j & 7))))); + if (getDisplayMode() == INKPLATE_1BIT) + writePixel(x + j, y, (invert ^ (palette[0] > palette[1])) ^ !!(pixelBuffer[j >> 3] & (1 << (7 - (j & 7)))) ? 0 : 1); + else + writePixel(x + j, y, (invert ^ (palette[0] > palette[1])) ^ !!(pixelBuffer[j >> 3] & (1 << (7 - (j & 7)))) ? 0 : 7); #endif break; }