Seite 1 von 2
Transparenz mit Schmutzeffekten - bug ?
Verfasst: 22.08.2005 11:02
von teachco
Mit Drawtext stelle ich im Windowed-Screen einmal einen Text ohne und einmal mit transparentem Hintergrund dar. Als Transparentfarbe hatte ich ein lila benutzt.
Nun sehe ich, dass bei transparentem Hintergrund an den Rändern des Textes noch einige Pixel der Transparentfarbe erscheinen und das Schriftbild verschlechtern. (zackige Ränder)
Besonders gut sieht man das bei größeren Texten (Höhe 20 Pixel o.ä.)
Ist das ein Bug oder eine akzeptierte Schwäche bei Transparenz?
Wer kennt das Problem und hätte einen Tipp?
Danke und Gruß.
Andi
Verfasst: 22.08.2005 14:57
von vonTurnundTaxis
Vermutlich haben die Pixel am Rand nicht exakt die gleiche Farbe wie die, die für die Transparenz festgelegt ist (wahrscheinliche Ursache: Kantenglättung bei der Schrift).
Verfasst: 23.08.2005 13:57
von teachco
Dann wird wahrscheinlich zu einem falschen Zeitpunkt geglättet - aus Sicht der Transparenz.
Dumme Sache. Da muß man als Workaround wohl die Transparenzfarbe so wählen, dass Sie ungefähr der Schriftfarbe entspricht.
Eine Schrift in schwarz mit lila Rüschenrand, wie in meinem Beispiel, sieht nämlich schön blöd aus.
Auf jeden Fall danke für den Hinweis.
Gruß
Andi
Verfasst: 23.08.2005 18:09
von benpicco
Es könnte aber auch an einem format mit Kompression liegen (jpg?)
Verfasst: 23.08.2005 20:21
von Zaphod
@teachco:
das problem ist, dass dein grafikprogramm schon die kanten glättet. so bekommst du nie eine saubere schrift. bei den meisten grafikprogrammen kann man antialiasing abstellen, dann funktioniert das auch mit der transparenten farbe richtig. aber natürlich sollte auch nicht stark jpeg kompremiert werden, denn die entstehenden artefakte habe ebenfalls nicht die transparente farbe. also besser ein verlustfreies format nehmen (tga, bmp, etc).
Verfasst: 23.08.2005 20:24
von Green Snake
ich schlage png vor.
soviel ich weis, ist das verlustfrei, und zugleich noch relativ gut komprimiert

Verfasst: 23.08.2005 21:21
von Kekskiller
Das mit dem AntiAlias liegt an Windows. Bei meinem Win2000 kan man das unter Eigenschaften on Anzeige > Effekte > Bildschirmschriftarten glätten. Wenn du das ausschaltest, dann müsste die Schrift wieder normal dargestellt werden. Normalerweise klappt das nur bei dicker Schrift, aber ev. ist das bei auch mit der normalen so.
Edit: Quack, wieso Grafikprog? Er erstellt das ganze doch im Programm... Also Drawtext meinte ich mit dem AA, probiers einfach mal aus.
Verfasst: 23.08.2005 21:57
von teachco
@ Kekskiller
Genau , das war es. Die Kantenglättung bei Bildschirmschriften unter Windows verursacht den Effekt. Ich benutze XP Prof. Da kann man das auch abschalten.
Nun sehen beide Texte gleich aus und die lila Pixel sind weg, auch wenn man den Hintergrund schwärzt. Kein Spuren mehr.
Nur leider sehen größere Texte auf dem TFT nun schön zackig aus. Da sieht man, wie nützlich die Kantenglättung ist.
Werde mein Workaround mit der Transparentfarbe, die ähnlich der Textfarbe ist, wieder aufgreifen.
@ Andere
Wie kommt Ihr eigentlich auf "Grafikprogramm"? Die Texte erzeuge ich in PB mit DrawText, wie oben geschrieben. Allerdings sollte man den Effekt auch einmal unter diesem Gesichtspunkt prüfen. Ich befürchte, dass das dabei auch passiert.
Auf jeden Fall Dank an alle, die drüber nachgedacht haben.
Gruß
Andi
Verfasst: 23.08.2005 22:27
von Zaphod
sorry, bin sehr übermüdet. ich kam auf grafikprogramm, weil das einer der immer wieder kommenden fragen ist. die leute zeichnen irgendwelche sprites, oft auch text in einem grafikprogramm, schalten antialiasing nicht aus und wundern sich dann über komische ränder... in deinem fall offensichtlich natürlich nicht die ursache. eine lösung währe, wenn du dir eine eigene textroutine mit schrift aus sprites bastelst.
Verfasst: 23.08.2005 22:28
von Batze
... oder eine von PureArea nimmst.
