TFT Layer Ebene

Gast #4027814
Lesenswert?
• ▲
▼
Hallo,
Ich Arbeite mit einem TFT 800x480 mit SSD1963 controller,
wollte nun einzelne Elemente in den vordergrund und andere Elemente in 
den Hintergrund setzten.

Zurzeit stehe ich aber auf dem schlauch bei der Umsetzung.

kann mir da einer Weiterhelfen oder eine seite emphelen wo das gut 
beschrieben wird oder ein code wo man schauen kann wie das gemacht wird.

mfg
Gast #4027824
Lesenswert?
• ▲
▼
Frank schrieb:

> Ich Arbeite mit einem TFT 800x480 mit SSD1963 controller,
> wollte nun einzelne Elemente in den vordergrund und andere Elemente in
> den Hintergrund setzten.

Das geht am einfachsten über die Reihenfolge, in der du die Elemente 
zeichnest. Immer von "hinten" nach "vorn" zeichnen und du brauchst keine 
weiteren Klimmzüge.
Persönliche Seite #4028539
Lesenswert?
• ▲
▼
Frank schrieb:
> Wie wird das gemacht.


Du musst schon wissen, welche Elemente wann zu sehen sein sollen, d.h. 
die Z-Order muss Du selbst festlegen.

Einfache Übung:

Nimm ein Blatt Papier und ein paar unterschiedlich große Zettel.

Das Blatt Papier legst Du auf den Tisch und malst 'ne 0 drauf.

Jetzt nimmst Du den ersten Zettel, legst ihn auf das Papier und malst 
'ne 1 drauf. Den nächsten Zettel legst Du wiederum auf das Papier und 
auf den bereits draufliegenden Zettel -- und den beschriftest Du mit 2.

Und genau das ist Deine Z-Order.

0 - 1 - 2

Möchtest Du, daß der mit 1 beschriftete Zettel in den Vordergrund kommt, 
daß also Zettel 1 Teile von Zettel 2 verdeckt, musst Du die Reihenfolge 
ändern:

0 - 2 - 1

Mehr steckt nicht dahinter.
Gast #4029352
Lesenswert?
• ▲
▼
Wenn du genug Hauptspeicher hast kein Problem. Die Mauer im Speicher des 
Controllers rendern, die Mischfarbe für das Overlay berechnen. Nur das 
Gesammtbild an das Display übertragen. (Findet sich unter dem Stichwort 
Alphakanal).

Theoretisch könnte auch das Display Farbmischung mit Alphakanal 
unterstützen.
Persönliche Seite #4029480
Lesenswert?
• ▲
▼
Ob Transparenz oder nicht - das beschriebene Grundkonzept des 
nacheinander nach Z-Order ausgebens bleibt bestehen.

Nur die jeweilige Ausgabefunktion, mit der die Bildelemente ausgegeben 
werden, muss dahingehend angepasst werden, daß sie bevor sie ein Pixel 
ausgibt, den Inhalt des Bildspeichers an der betreffenden Stelle 
ausliest und das mit dem Wert des neuen Pixels verrechnet - "noch einer" 
nannte das "Alphakanalformel".
Gast #4031204
Lesenswert?
• ▲
▼
Rufus Τ. Firefly schrieb:
> Ob Transparenz oder nicht - das beschriebene Grundkonzept des
> nacheinander nach Z-Order ausgebens bleibt bestehen.
>
> Nur die jeweilige Ausgabefunktion, mit der die Bildelemente ausgegeben
> werden, muss dahingehend angepasst werden, daß sie bevor sie ein Pixel
> ausgibt, den Inhalt des Bildspeichers an der betreffenden Stelle
> ausliest und das mit dem Wert des neuen Pixels verrechnet - "noch einer"
> nannte das "Alphakanalformel".

Könnte mir denn jemand eine Seite nennen wo dke Alphakanal formel 
beschrieben wird jnd wie man es in c umsetzt.
mfg

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.