Ich kann nicht anitialiazed Linien beim Freihand Zeichnen in Javafx Leinwand bekommen. Es folgt der Code ...Leinwand zeichnet keine glatten Linien
import javafx.application.*;
import javafx.event.*;
import javafx.scene.*;
import javafx.scene.canvas.*;
import javafx.scene.control.*;
import javafx.scene.input.*;
import javafx.scene.shape.*;
import javafx.stage.*;
public class Test2 extends Application {
GraphicsContext gc;
public static void main(String[] args) { launch(args); }
private class MouseDragged implements EventHandler<MouseEvent> {
public void handle(MouseEvent e) {
gc.lineTo(e.getX(), e.getY());
gc.stroke();
}
}
private class MousePressed implements EventHandler<MouseEvent> {
public void handle(MouseEvent e) {
gc.moveTo(e.getX(), e.getY());
}
}
@Override
public void start(Stage stage) {
Canvas canvas = new Canvas(500, 500);
canvas.setOnMouseDragged(new MouseDragged());
canvas.setOnMousePressed(new MousePressed());
gc = canvas.getGraphicsContext2D();
gc.setLineCap(StrokeLineCap.ROUND);
gc.setLineJoin(StrokeLineJoin.ROUND);
gc.setLineWidth(0.1);
Group root = new Group(canvas);
Scene scene = new Scene(root);
stage.setTitle("Test2");
stage.setScene(scene);
stage.show();
}
}
Während, wenn ich eine Schaukel app ich bieten kann Hinweise machen es zu glätten ...
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Wie kann ich bieten Rendering-Hits auf die Grafik Kontext in Leinwand?
Eine Feature-Anforderung für den [JavaFX-Issue-Tracker] protokollieren (https://javafx-jira.kenai.com) – jewelsea
Der alte JavaFX-Issue-Tracker-Link ist ungültig. Feature-Anfragen können unter http://bugreport.java.com (denke ich) protokolliert werden, obwohl Sie wahrscheinlich mehr Glück haben würden, wenn Sie die Feature-Anfrage implementiert haben, wenn Sie in der [openjfx-dev Mailingliste] diskutiert haben (http: // mail.openjdk.java.net/mailman/listinfo/openjfx-dev) zuerst vor dem Loggen. – jewelsea
Beachten Sie, dass das tatsächliche Problem hier möglicherweise mehrmals über die gleichen Punkte gezogen wird, wodurch die Antialiaslinien als Alias angezeigt werden. Siehe verwandte Frage: [Wie man Antialiasing auf javafx-Methoden wie GraphicsContext.fillArc() anwenden?] (Https://stackoverflow.com/questions/34148521/how-to-apply-antialiasing-to-javafx-methods-like-graphicscontext -Fillarc) – jewelsea