Java: Hiệu ứng phát sáng (Glow)

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
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.

Hiệu ứng phát sáng

Đố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.

» Tiếp: Hiệu ứng làm mờ hộp (BoxBlur)
« Trước: Hiệu ứng nở (Bloom)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!