Es geht um die Grafikbearbeitung, um das Dithering eines Bildes.
In der Konsole bzw. im Textmodus kann man ja mit Hilfe der Vorder-, Hintergrundfarbe und durch die Nutzung der ASCII-Zeichen (░, ▒, ▓) weitere als die 16 vorgegebenen Farben simulieren. Ich nutze zusätzlich noch das Leerzeichen und Chr-219 (█) weil es für mich einfacher ist.
Mit Hilfe folgender Berechnung, kann durch Angabe des RGB-Wertes für Farbe 1 und Farbe 2, und durch das Mischverhältnis bzw. die Sichtbarkeit in Prozent von Farbe 1 die Mischfarbe berechnet werden.
Die Formel muss drei mal, jeweils für jeden Grundfarbton genutzt werden.
Code: Alles auswählen
[Ergebnis] = (([Farbe 1]*[Mischverhältnis]) + ([Farbe 2]*(100-[Mischverhältnis]))) / 100
Für die fünf genutzten ASCII-Zeichen habe ich fünf Mischverhältnisse mit 0, 25, 50, 75 und 100 Prozent.
Somit habe ich 1280 Kombinationsmöglichkeiten. Aber dadurch das Ergebnis bei bei gleicher Vorder- und Hintergrundfarbe, oder dadurch Das Farbe 1 ein Mischverhältnis zu Farbe 2 von 25 Prozent oder das Farbe 2 ein Mischverhältnis zu Farbe 1 von 75 Prozent identisch ist, habe ich nur so um die 369 Farben.
Welche Farben ich durch Verkleinerung mit der Nutzung der bilinearen Interpolation des erstellten Bildes erhalte, weiss ich mit der Hilfe durch meine Methode.
Die Frage ist jetzt, wie kriege ich die gegenteilige Methode also die Fehlerdiffusion/das Dithering eines Bildes hin, wenn das im Ergebnis nur maximal 16 Farben und drei Schattierungen haben darf.
Die Floyd-Steinberg-Methode kann ich hier ja nicht nutzen, weil das Mischverhältnis durch die ASCII-Zeichen vorgegeben ist.
So das ich den RGB-Wert der gewünschten Farbe angebe und ich als Ergebnis die Vorder-, Hintergrundfarbe und das Mischverhältnis erhalte.
Gruß vom Nixsager
P.S.
Nachtrage zu meiner unverständlichen Frage.
Wenn man den Text schon mehrmals im Kopf durchgegangen ist, sieht man die Fehler nicht mehr schon schnell. Vor allem wenn man ihn mehrmals bearbeitet.
Ich hoffe die Frage ist jetzt verständlicher.