Picture
Converter 1bpp v1.4:
Der
"Picture Converter
1bpp" ist ein nützliches Tool zum schnellen und einfachen
Erstellen von Bitmapgrafiken für monochrome LC-Displays.
Erzeug
aus einer
beliebigen Bilddatei (jpg,gif,tif,png,bmp, etc...) eine Bitmap mit
einer Farbtiefe von 1 Bit.
Schwarzschattierungen
werden mittels Floyd-Steinberg
Dithering Verfahren ermittelt. Die Auflösung (zerren/strecken) des
Zielbildes kann angepasst werden.
Zusätzliche
Funktionen: Drehen
und Spiegeln
Verlustfreie
Speicherung in den Formaten: xbm, bmp,
tif und png
Export
in #include -
fähiges Header-File mit optionaler Auslagerung des Bitmaparrays in C-File
für verschiedene Compiler, Grafikcontroller und
Mikrocontroller. Die Anordung im Array kann zwischen big- und little endian umgeschalten werden.
In
"datei.h" beinhaltet
die Bitmapdaten (optional in "datei.c" ausgelagert) als Array und die Angaben der Breite und Höhe
in Pixeln. Jede Zeile des Arrays enthält eine Zeile der Bitmap. Die ersten
Arrayeinträge verweise per Präprozessor auf die
Angaben zur 1. Bildbreite und 2. Bildhöhe (ACHTUNG: wenn
dieser Wert >255 dann ist ein Eintrag 2byte groß,
sonst 1byte). Die erste volle Zeile des Array enthält die
oberste Zeile der Bitmap (horizontal). Das erste Byte ist links oben in der Bitmap. Diese Aufteilung eignet sich z.B.
für T6963 und SED1335 Controller.
Dateien
für KS108, SED1520 und SPLC0501C Controller können
mit vertikaler Orientierung erzeugt werden. Ein Byte enthält
dann 8 Pixel vertikal angeordnet.
Eine Zeile im C-Code besteht aus einem Streifen/Spalte von 8 Pixeln
Höhe. In der Readme ist
Implementierungsbeispiel für ATMEGA128 und KS108
angegeben.
ACHTUNG: Will man
auf das Bitmaparray aus mehreren c-Dateien zugreifen, muss ein
Bitmaparray mit einem separatem c-File erzeugt werden. (Mehrfacheinbindung
verhindern)
Beispiel Header "Bild.h":
#ifndef
Bild_h //don't do multiple includes of this file
#define
Bild_h
#include
<avr/pgmspace.h> //Win-AVR
//#include
<progmem.h> //AVR-GCC
#define
BildWIDTH
105 //Width in pixels
#define
BildHEIGHT
66 //Height in pixels
#define
BildBYTEWIDTH
14 //Width in bytes
//extern
const rom unsigned char Bildbmp[]; //Microchip C18
//extern
const unsigned char code Bildbmp[]; //Keil
//extern
const unsigned char Bildbmp[]; //SDCC
extern
prog_uchar Bildbmp[]; //AVR-GCC, WinAVR
#endif
//Bild_h
Zugehöriges C-File "Bild.c":
#include
<avr/pgmspace.h> //WinAVR
//#include
<progmem.h> //AVR-GCC
//const
unsigned char code Bildbmp[]= { //Keil
//const
rom unsigned char Bildbmp[]= { //Microchip C18
//const
unsigned char Bildbmp[]= { //SDCC
prog_uchar
Bildbmp[]= { //AVR-GCC, WinAVR
ARRAYINHALT
};
Siehe
dazu: http://www.mikrocontroller.net/topic/230457
|