Transparenz mit Schmutzeffekten - bug ?
Transparenz mit Schmutzeffekten - bug ?
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
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
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
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
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
@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).
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).
- Green Snake
- Beiträge: 1394
- Registriert: 22.02.2005 19:08
-
Kekskiller
- Beiträge: 752
- Registriert: 14.09.2004 21:39
- Kontaktdaten:
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.
Edit: Quack, wieso Grafikprog? Er erstellt das ganze doch im Programm... Also Drawtext meinte ich mit dem AA, probiers einfach mal aus.
@ 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
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
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.