Transparenz mit Schmutzeffekten - bug ?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
teachco
Beiträge: 48
Registriert: 12.07.2005 19:44

Transparenz mit Schmutzeffekten - bug ?

Beitrag 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
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag 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).
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
teachco
Beiträge: 48
Registriert: 12.07.2005 19:44

Beitrag 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
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Es könnte aber auch an einem format mit Kompression liegen (jpg?)
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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).
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

ich schlage png vor. ;)

soviel ich weis, ist das verlustfrei, und zugleich noch relativ gut komprimiert :allright:
-.-"
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag 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.
teachco
Beiträge: 48
Registriert: 12.07.2005 19:44

Beitrag 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
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag 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.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

... oder eine von PureArea nimmst. :allright:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Antworten