JavaFX canvas: Atrybut tekstu 'font smoothing’
Atrybut: font smoothing
Typ: FontSmoothingType
Wartość domyślna: FontSmoothingType.GRAY
.
Getter: FontSmoothingType getFontSmoothingType()
Setter: void setFontSmoothingType(FontSmoothingTypeVPos)
Save/restore: true
Opis: Sposób wygładzania tekstu (antialiasing) stosowany do glifów w czcionce we wszystkich operacjach
renderowania wypełnienia tekstu. Są dwie możliwości
- GRAY – domyślne
- LCD – używane tylko na nieprzezroczystym tle. Na przezroczystym czy częściowo przezroczystym
tle będzie identyczny z GRAY. W implementacjach, gdzie nie używa się kanału alfa – jest
niedostępny.
Atrybut tekstu 'font smoothing’
Klasa Listing25_51
Ściągnij klasę Listing25_51
package rozdzial25c; import javafx.application.Application; import javafx.application.Platform; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.text.Font; import javafx.scene.text.FontSmoothingType; import javafx.scene.text.FontWeight; import javafx.stage.Stage; public class Listing25_51 extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage stage) { try { Group root = new Group(); Canvas cv = new Canvas(500, 300); GraphicsContext gc = cv.getGraphicsContext2D(); // gc.setFont(Font.font("Dialog", FontWeight.BOLD, 60)); //- gc.setFontSmoothingType(FontSmoothingType.GRAY); gc.fillText("Aria i Suita", 50, 100); //- gc.setFontSmoothingType(FontSmoothingType.LCD); gc.fillText("Aria i Suita", 50, 200); //- FontSmoothingType fst = gc. getFontSmoothingType(); System.out.println(fst); //- root.getChildren().add(cv); Scene scene = new Scene(root); stage.setScene(scene); stage.setTitle("Atrybut tekstu 'font smoothing'"); stage.setOnCloseRequest(e -> Platform.exit()); stage.show(); } catch (Exception e) { e.printStackTrace(); } } }
LCD