/* drawImage.ino Inkplate 6 Arduino library Zvonimir Haramustek @ e-radionica.com September 24, 2020 https://github.com/e-radionicacom/Inkplate-6-Arduino-library For support, please reach over forums: forum.e-radionica.com/en For more info about the product, please check: www.inkplate.io This code is released under the GNU Lesser General Public License v3.0: https://www.gnu.org/licenses/lgpl-3.0.en.html Please review the LICENSE file included with this example. If you have any questions about licensing, please contact techsupport@e-radionica.com Distributed as-is; no warranty is given. */ #include "Inkplate.h" #include "SdFat.h" #include "sample1bit.h" #include "sample3bit.h" Inkplate display(INKPLATE_1BIT); #define DELAYMS 1000 const char *imagesBmp[] = {"1bit.bmp", "4bit.bmp", "8bit.bmp", "16bit.bmp", "24bit.bmp", "32bit.bmp", "Lenna.jpg", "Lenna.jpg"}; const char *imagesBmpUrls[] = { "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/1bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/4bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/8bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/16bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/24bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/bitmaps/32bit.bmp", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/jpegs/Lenna.jpg", "https://raw.githubusercontent.com/nitko12/Inkplate-revision/master/test/jpegs/Lenna.jpg", }; const bool depth[] = {INKPLATE_1BIT, INKPLATE_3BIT, INKPLATE_3BIT, INKPLATE_3BIT, INKPLATE_3BIT, INKPLATE_3BIT, INKPLATE_1BIT, INKPLATE_3BIT}; void setup() { Serial.begin(115200); display.begin(); display.joinAP("", ""); Serial.println(); delay(500); } void loop() { display.clearDisplay(); display.display(); display.selectDisplayMode(INKPLATE_1BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying 1 bit flash image."); display.display(); display.clearDisplay(); delay(5000); display.drawImage(sample1bit, 0, 0, sample1bit_w, sample1bit_h, WHITE, BLACK); display.display(); display.clearDisplay(); delay(5000); display.selectDisplayMode(INKPLATE_3BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(90, 100); display.print("Displaying 3 bit flash image."); display.display(); display.clearDisplay(); delay(5000); display.drawImage(sample3bit, 0, 0, sample3bit_w, sample3bit_h); display.display(); display.clearDisplay(); delay(5000); if (!display.sdCardInit()) { display.println("Sd card error!"); delay(1000); return; } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_1BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying Lenna.jpg 1bit"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("Lenna.jpg", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_3BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying Lenna.jpg 3bit"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("Lenna.jpg", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_1BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying png.png 1bit"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("png.png", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_3BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying png.png 3bit"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("png.png", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } // web display.selectDisplayMode(INKPLATE_1BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying Lenna.jpg 1bit from web"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("https://raw.githubusercontent.com/e-radionicacom/Inkplate-6-Arduino-library/revision/test/" "drawImage/Lenna.jpg", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_3BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying Lenna.jpg 3bit from web"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("https://raw.githubusercontent.com/e-radionicacom/Inkplate-6-Arduino-library/revision/test/" "drawImage/Lenna.jpg", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_1BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying png.png 1bit from web"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("https://raw.githubusercontent.com/e-radionicacom/Inkplate-6-Arduino-library/revision/test/" "drawImage/png.png", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; display.selectDisplayMode(INKPLATE_3BIT); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying png.png 3bit from web"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage("https://raw.githubusercontent.com/e-radionicacom/Inkplate-6-Arduino-library/revision/test/" "drawImage/png.png", 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } for (int i = 0; i < 4; ++i) { bool dither = i & 1; bool invert = i >> 1; for (int j = 0; j < 6; ++j) { display.selectDisplayMode(depth[j]); display.setTextSize(2); display.setTextColor(1); display.setCursor(100, 100); display.print("Displaying "); display.print(imagesBmp[j]); display.print(" from web"); if (!dither) display.print(" non"); display.print(" dithered and"); if (!invert) display.print(" non"); display.print(" inverted."); display.display(); display.clearDisplay(); delay(5000); display.drawImage(imagesBmpUrls[j], 0, 0, dither, invert); display.display(); display.clearDisplay(); delay(5000); } } delay(5000); }