inkplate-6-arduino-library/test/drawImage/drawImage.ino

362 lines
10 KiB
C++

/*
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);
}