Java: Hiệu ứng nở (Bloom)


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Khi áp dụng hiệu ứng nở, các điểm ảnh trong một số phần của nút được tạo ra để phát sáng.

Lớp có tên Bloom của gói javafx.scene.effect đại diện cho hiệu ứng nở. Lớp này chứa hai thuộc tính, đó là:

  • input - Thuộc tính này thuộc kiểu Effect và nó đại diện cho đầu vào cho hiệu ứng nở.

  • threshold - Thuộc tính này thuộc loại double; nó đại diện cho một giá trị ngưỡng của độ sáng của các pixel của nút. Tất cả những điểm ảnh có độ sáng lớn hơn giá trị này được tạo ra để phát sáng. Phạm vi của giá trị ngưỡng là 0.0 đến 1.0.

Ví dụ

Sau đây là một ví dụ minh họa hiệu ứng nở. Ta sẽ vẽ một văn bản "Welcome to V1Study" và áp dụng hiệu ứng nở cho nó với giá trị ngưỡng 1.0.

Lưu mã này trong một tệp với tên BloomEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.Bloom; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class BloomEffectExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text();       
      
      //Setting font to the text
      text.setFont(Font.font(null, FontWeight.BOLD, 40));       
      
      //setting the position of the text  
      text.setX(60); 
      text.setY(150); 
      
      //Setting the text to be embedded. 
      text.setText("Welcome to V1Study");       
      
      //Setting the color of the text 
      text.setFill(Color.DARKSEAGREEN);
      
      //Instantiating the Rectangle class 
      Rectangle rectangle = new Rectangle(); 
      
      //Setting the position of the rectangle 
      rectangle.setX(50.0f); 
      rectangle.setY(80.0f); 
      
      //Setting the width of the rectangle 
      rectangle.setWidth(500.0f); 
      
      //Setting the height of the rectangle 
      rectangle.setHeight(120.0f); 
      
      //Setting the color of the rectangle 
      rectangle.setFill(Color.TEAL); 
       
      //Instantiating the Bloom class 
      Bloom bloom = new Bloom(); 
      
      //setting threshold for bloom 
      bloom.setThreshold(0.1); 
      
      //Applying bloom effect to text 
      text.setEffect(bloom);          
         
      //Creating a Group object  
      Group root = new Group(rectangle, text);   
               
      //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 BloomEffectExample.java 
java BloomEffectExample

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.

» Tiếp: Hiệu ứng phát sáng (Glow)
« Trước: Hiệu ứng trộn (Blend)
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!