Wie zeichnet man eine 1 pixel Breite Linie mit Javafx Canvas?

Ich habe googeln und suchen, gefunden, einige Fragen/Beiträge, aber keiner der Adresse mein problem.

Ich bin zeichnen von Linien, die direkt auf canvas (JavaFX) mit:

gc.setStroke(color);
gc.setLineWidth(lineWidth);
gc.strokeLine(startX, startY, endX, endY);

Möchte ich 1 pixel Breite Linien. Also ich lineWidth=1.
Ich bekomme diese:
Wie zeichnet man eine 1 pixel Breite Linie mit Javafx Canvas?

Beachten Sie, dass die Linien sind verschwommen. Es ist nicht 1 pixel.
Ich habe versucht, lineWidth auf 0.1 oder 0.01, etc. Es ändert nicht das Ergebnis.

Übrigens... ich verstehe nicht, warum dieser parameter ist ein doppelter. Ich habe irgendwo gelesen, dass es hat zu tun mit DPI. Aber ich verstehe nicht, was ist das Gerät und wie ist es in Pixel umgewandelt.
Oracle ist die Dokumentation nicht helfen. (oder habe ich nicht gefunden, das hilft dabei)

Ich würde gerne dieses statt:

Wie zeichnet man eine 1 pixel Breite Linie mit Javafx Canvas?

Realisiert wurde dies in einem anderen Plattform. Beachten Sie, dass die Linien sind scharf und haben nur eine 1 pixel.

Ich vermute, es ist das gleiche Problem wie beschrieben, in der Shape Dokumentation unter "Interaktion mit den Koordinatensystemen"; obwohl ich nicht weiß, wie das problem zu lösen, die im Kontext einer Leinwand.
Der folgende post ist sehr interessant:dlemmermann.wordpress.com/2014/04/10/... Aber der workaround hat nicht funktioniert für mich und ich habe nicht verstanden, warum es wäre.
Ich habe gerade dies gefunden: community.oracle.com/thread/2465226 Es wird erklärt, wie es funktioniert... ich werde es testen und wenn es funktioniert, ich beantworte meine eigene Frage posten der Lösung.
James_D Ihre Erklärung ist präzise

InformationsquelleAutor Chocksmith | 2015-01-08

Schreibe einen Kommentar