Hallo,
ich habe folgendes Programm aus dem Internet geladen, und es dann an
meine Bedürfnisse angepasst. Doch ich bekomme keine schwarze
Vordergrundfarbe für die Linien hin. Ich poste mal hier das Programm.
Ich entwickle unter NetBSD 5.1. Doch dies dürfte nicht das Problem sein.
Hue \a schrieb:> Hat jemand dazu eine Verbesserung? Die Linien sind in meiner Ausgabe am> Bildschirm sehr blass, fast nicht sichtbar.
Da Du keine Koordinatentransformation machst, malst Du hier 0.3 Pixel
breite Linien (die natürlich durch ein entsprechend helleres Grau
simuliert werden).
Als Problem kommt noch hinzu, dass Du auf den ganzzahligen Koordinaten
malst, welche in Cairo mit den Grenzen zwischen den Pixeln
zusammenfallen.
D.h. insbesonders, dass sich deine Linien gleichmäßig auf zwei Pixel
verteilen, die eben entsprechend noch weniger von den Pixeln
überdecken und entsprechend heller dargestellt werden.
Ich habe testweise mal ein
1
cairo_translate(cr,0.5,0.5);
vor die Schleife im Expose-Event-Handler eingebaut. Damit liegen die
ganzzahligen Koordinaten jetzt in der Pixelmitte und die Linien liegen
exakt in der Pixelmitte, werden also dunkler und schmaler gerendert.
Viele Grüße,
Simon
Ach, nochwas.
Wenn Du den Schleifenrumpf umbaust zu:
1
cairo_move_to(cr,10,35*i-20);
2
cairo_line_to(cr,10,35*i);
3
cairo_line_to(cr,790,35*i);
4
cairo_stroke(cr);
Dann hast Du auch eine ordentlich gerenderte Verbindung zwischen den
zwei Linien. Bei dickeren Linien sieht man besser was ich meine... :-)
Viele Grüße,
Simon