Forum: Mikrocontroller und Digitale Elektronik BITMAP Overlays


von Alfred (Gast)


Lesenswert?

Guten Tag,

ich habe ein Frage zu Bimaps die eine gemeinsame Farbpalette benötigen, 
um sie auf einem Display auszugeben.

Hintergrund ist das ich zwar mehrere Bilder darstellen kann, aber nur 
mit einer gemeinsamen Farbpalette. (Nicht zu ändern)
Wenn ich drei Bilder in ein Programm wie Paint einlade hab ich genau 
das. Wenn ich dann die einzelnen Pics aber wieder ausschneide und 
getrennt im richtiger Größe speichern will, macht das Programm eine neue 
Farbtabelle vorm Speichen.

Stelle ich das dann auf dem Display da hab ich alle Farben wild 
durcheinander.

Frage ist also wie ich von mehrern Bildern eine einzige Farbtabelle 
generiere die man quasi dann sperren kann und jedes Bild die gleiche 
Tabelle bekommt bzw. an der gleichen Stelle in der Tabelle sucht.

Nur zum Verständnis: Die Farbtabelle wird getrennt gespeichert, genauso 
die einzelnen Pics und dann auf dem Display übergeblendet.
Wer jetzt noch durchblickt hat soetwas schon gemacht!

von Electronics (Gast)


Lesenswert?

Warum übernimmst du denn immer wieder die Farbtabelle?
Speichere die, die du verwendest fix ab und übernimm nachher nur die 
Bildinformationen (ohne Header etc.)

von Alfred (Gast)


Lesenswert?

Das geht halt nicht, da der Hinweis auf die Farbtabelle beim 
Ausschneiden immer wieder neu generiert wird und dann auf die falsche 
Stelle zeigt.

von Karl H. (kbuchegg)


Lesenswert?

> Nur zum Verständnis: Die Farbtabelle wird getrennt gespeichert,
> genauso die einzelnen Pics und dann auf dem Display übergeblendet.

Überblenden mit einem Gerät welches Farbbilder nur über Paletten 
ausgeben kann ist sauschwer.
Denn beim Überblenden bleibt es nicht aus, dass sich Zwischenfarbtöne 
der einzelnen Pixel ergeben, die du dann eben nicht in deiner Palette 
hast.

-> auf so einem Gerät kann man Überblendeffekte vergessen. Die Bilder 
werden auf einen Schlag umgeschaltet. Und dann kann man normalerweise 
auch die Palette auf die des neuen Bildes wechseln.


Abgesehen davon: nimm ein ordentliches Malprogramm und nicht unbedingt 
das Aushilfswerkzeug 'Paint'.

von Alfred (Gast)


Lesenswert?

Es handelt sich hier um einen Displaychip der für ein OSD nun mal so 
arbeitet. Das kann ich nicht ändern.
Im Grunde arbeitet er genauso wie damals C64 und CO, also ohne Anti 
Aliesing und anderen Grafigprozessorfressenden Hardware Tools. Stumpf 
Pixel für Pixel aus dem Speicher aufs Display.
Paint arbeitet da fast noch am besten für Bitmaps da es primitiv ist und 
nichts verschlimmbessert.
Andere Programme rechnen intern alles um und arbeiten da immer wieder 
mit 24Bit Farbtiefe. Dann ist plötzlich grün eben nicht mehr grün, 
sondern besteht aus zig Einzeltöhnen. Beim Abspeichern in 8Bit wird dann 
irgendetwas genommen und das fällt auf. Das ist zum Wahnsinnig werden.

Das Überblenden habe ich auch nur gesagt um eben klar zu machen das 
alles was ich anzeigen eben von dieser 256 Farben Tabelle zerrt.
Mit diesem Problem habe ich nicht ansatzweise gerechnet.

Ich glaube ich muss wirklich stumpf erst die Farbtabelle anlegen mit 
meinen Wunschwerten und das neue ICONs auf deren Basis Generieren. Blos 
nichts konvertieren oder nochmal umrechnen. Damit muss ich mir aber dann 
jeden Farbverlauf gut überlegen.

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

hab das gerade mal mit PS Elements getestet, dort kannst du ein Bild auf 
inizierte Farben umstellen -> Tabelle wird berechnet. Diese Tabelle 
kannst du speichern. Nimmt man nun ein anderes Bild und ändert den 
Modus, kann man die zuvor gespeichert Tabelle wieder laden und die 
Konvertierung geschieht anhand dieser Farbtabelle.
Sollte sicher analog auch mit anderen Grafikprogs gehen.

Sascha

von Alfred (Gast)


Lesenswert?

Hallo,

Der Begriff "indizierte Farben" ist genau das was ich zu erklären 
versuchte. Genau damit arbeitet mein Chip und ich muss ihm passend dazu 
alles zusammenschneidern.
Ich versuche es mal mit PS Elements, Ist aber mit Kanonen auf Spatzen 
schießen.
Nebenbei bemerkt hat unsere Grafikabteilung Adope Illustrator, Müsste 
doch auch damit gehen oder? Ich bin eher Softwaremensch und kenne die 
Programme nicht.

von W.S. (Gast)


Lesenswert?

Alfred schrieb:
> ich habe ein Frage zu Bimaps die eine gemeinsame Farbpalette benötigen,
> um sie auf einem Display auszugeben.

Alfred schrieb:
> Stelle ich das dann auf dem Display da hab ich alle Farben wild
> durcheinander.

Das was du hier schreibst, ist viel zu wenig, als daß man dir 
irgendeinen Rat geben könnte. Was für ein uC und für ein Grafiksystem 
ist das denn, mit dem du arbeitest? Wo sind da die Einschränkungen?

Palettenbetriebsart ist ja regelmäßig so angelegt, daß ein jedes Bild 
seine eigene Palette haben muss, um die in genau diesem Bild 
benötigten Farben mit weniger Bits pro Pixel zu speichern, als dies für 
die eigentliche Farbauflösung nötig wäre.

Der Ansatz, mehrere Bilder mit einer gemeinsamen Palette haben zu 
wollen, ist sinnwidrig. Wenn überhaupt, dann reduziere die Farbauflösung 
aller deiner Bilder auf die Pixelzahl, die du speichern bzw. anwenden 
kannst. Bei 8 Bit gibt's dann für alle Bilder eben nur 256 Farben und 
die Palette ist quasi "geradlinig".

W.S.

von Harald M. (mare_crisium)


Lesenswert?

Alfred,
zur Not könntest Du Dir doch die drei Farbauszüge als Graustufenbilder 
ausgeben lassen. Wenn Du die Graustufen dann auf z.B. 4 Bit reduzierst, 
kannst Du daraus wieder eine 12-Bit Farbpalette zusammensetzen und die 
dann für alle Deine Bilder verwenden. Die Farbauszüge (auf 4 Bit 
reduziert) musst Du natürlich auch wieder zu einem Bild zusammensetzen, 
wobei in jedem Pixel das Rotbild die Bits 0-3, der Grünkanal Bits 4-7 
und der Blaukanal Bits 8-11 belegt. Die Pixelwerte des zusammengesetzten 
Bildes sind dann die Indizes in die Farbpalette.
Ciao, mare_crisium

von Nosnibor (Gast)


Lesenswert?

Wie Sascha Weber schon geschrieben hat, brauchst du ein 
Bildverarbeitungsprogramm, das bei der Umwandlung in "indizierte Farben" 
eine vorgegebene Palette benutzen kann. Ich hatte damals (> 10 Jahre 
her) Photoshop, das konnte das. Kann sein, daß der technische 
Fortschritt inzwischen dafür gesorgt hat, daß Photoshop das jetzt nicht 
mehr kann, vielleicht hat er auch dafür gesorgt, daß jede Software das 
kann. GIMP sollte es können; das kann schließlich sonst (fast) alles, 
was Photoshop mal konnte.

Die Funktion war vor Zeiten Alltag in der Bildverarbeitung, schließlich 
war es normal, daß Hardware, Betriebssystem oder Web-Standards die 
Palette vorgaben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.