Java: Hiệu ứng phát sáng (Glow)
Giải phóng thời gian, khai phóng năng lực
Cũng giống như Hiệu ứng nở, Hiệu ứng phát sáng cũng làm cho hình ảnh đầu vào phát sáng. Hiệu ứng này làm cho các điểm ảnh của đầu vào sáng hơn nhiều.
Lớp có tên Glow của gói javafx.scene.effect đại diện cho hiệu ứng phát sáng. Lớp này chứa hai thuộc tính:
- input - Thuộc tính này thuộc loại Effect và nó đại diện cho đầu vào cho hiệu ứng phát sáng.
- level - Thuộc tính này thuộc loại double; nó đại diện cho cường độ của ánh sáng. Phạm vi của giá trị mức là 0.0 đến 1.0.
Ví dụ
Chương trình sau đây là một ví dụ minh họa Hiệu ứng phát sáng của JavaFX. Ở đây, ta sẽ nhúng hình ảnh sau (Biểu trưng của V1Study) vào JavaFX bằng cách sử dụng các lớp Image và ImageView. Điều này sẽ được thực hiện ở vị trí 100, 70 và với chiều cao vừa vặn và chiều rộng phù hợp lần lượt là 200 và 400.
Đối với hình ảnh này, ta áp dụng Hiệu ứng phát sáng với giá trị mức 0.9. Lưu mã này trong một tệp với tên GlowEffectExample.java.
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.effect.Glow; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; public class GlowEffectExample extends Application { @Override public void start(Stage stage) { //Creating an image Image image = new Image("https://v1study.com/public/images/logo_v1study_xin_111_30.png"); //Setting the image view ImageView imageView = new ImageView(image); //setting the fit width of the image view imageView.setFitWidth(200); //Setting the preserve ratio of the image view imageView.setPreserveRatio(true); //Instantiating the Glow class Glow glow = new Glow(); //setting level of the glow effect glow.setLevel(0.9); //Applying bloom effect to text imageView.setEffect(glow); //Creating a Group object Group root = new Group(imageView); //Creating a scene object Scene scene = new Scene(root, 600, 300); //Setting title to the Stage stage.setTitle("Sample Application"); //Adding scene to the stage stage.setScene(scene); //Displaying the contents of the stage stage.show(); } public static void main(String args[]){ launch(args); } }
Biên dịch và thực thi tệp java đã lưu từ dấu nhắc lệnh bằng các lệnh sau:
javac GlowEffectExample.java java GlowEffectExample
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX như hình dưới đây.
Giải phóng thời gian, khai phóng năng lực