Go Down

Topic: Adafruit Lib ST7335.h (Read 479 times) previous topic - next topic

ids2001

Hallo Leute,

eine Frage!
Ich arbeite gerade mit dem 1,8" TFT von SaintSmart welches kompatibel zum Adafruit TFT ist und somit die Libs verwendet werden können.
http://www.sainsmart.com/arduino-compatibles-1/lcd-module/sainsmart-1-8-spi-lcd-module-with-microsd-led-backlight-for-arduino-mega-atmel-atmega.html

In der Adafruit Lib sind einpaar Grundfarben deklariert jedoch verstehe ich nicht, dass diese für white zB 0xFFFF nehmen und nicht 0xFFFFFF ( RGB )
Weiß jemand wie ich eigene Farbe erstellen kann? ( mittel Farbkonverter welcher mit dann den Hex Coode liefert)

hier ein Auszug aus der Lib

Code: [Select]

// Color definitions
#define ST7735_BLACK   0x0000
#define ST7735_BLUE    0x001F
#define ST7735_RED     0xF800
#define ST7735_GREEN   0x07E0
#define ST7735_CYAN    0x07FF
#define ST7735_MAGENTA 0xF81F
#define ST7735_YELLOW  0xFFE0 
#define ST7735_WHITE   0xFFFF


lg

Dieter
http://engineeringatnight.blogspot.co.at/

sschultewolter

Kenne weder Lib noch das Display, aber 4 stellige Hex Zahlen? Höre ich zum ersten mal.

Was ist, wenn du den üblichen 3 bzw 6 stelligen Hex Wert nimmst?

http://www.html-php-mysql.de/generatoren/colors.php
Keinen technischen Support über PN!

jurs


Weiß jemand wie ich eigene Farbe erstellen kann? ( mittel Farbkonverter welcher mit dann den Hex Coode liefert)


Von RGB888 auf RGB565 konvertieren:
Code: [Select]

uint16_t convertRGB888toRGB565(uint8_t r, uint8_t g, uint8_t b)
// Get 16-bit equivalent of 24-bit color
{
  return ((r / 8) << 11) | ((g / 4) << 5) | (b / 8);
}


Und die 16-Bit Variable dann ggf. hexadezimal ausgeben.

Serenifly


Kenne weder Lib noch das Display, aber 4 stellige Hex Zahlen? Höre ich zum ersten mal.

16-bit Farbtiefe (High Color) sollte eigentlich historisch geläufig sein von Windows oder auch Spielekonsolen

Da werden für Rot und Blau 5 Bit verwendet und für Grün 6 Bit, da das menschliche Auge für Grün empfindlicher ist

Go Up