Java: Hiệu ứng chỉnh màu (ColorAdjust)
Bạn có thể điều chỉnh màu sắc của hình ảnh bằng cách áp dụng hiệu ứng điều chỉnh màu sắc cho hình ảnh đó. Điều này bao gồm điều chỉnh Hue, Saturation, Brightness và Contrast trên mỗi pixel.
Lớp có tên ColorAdjust của gói javafx.scene.effect đại diện cho hiệu ứng điều chỉnh màu, lớp này chứa năm thuộc tính cụ thể là:
-
đầu vào - Thuộc tính này thuộc loại Hiệu ứng và nó đại diện cho đầu vào cho hiệu ứng điều chỉnh màu sắc.
-
độ sáng - Thuộc tính này thuộc loại Đôi và nó đại diện cho giá trị điều chỉnh độ sáng cho hiệu ứng này.
-
tương phản - Thuộc tính này thuộc loại Double và nó đại diện cho giá trị điều chỉnh độ tương phản cho hiệu ứng này.
-
hue - Thuộc tính này thuộc loại Double và nó đại diện cho giá trị điều chỉnh màu sắc cho hiệu ứng này.
-
saturation - Thuộc tính này thuộc loại Double và nó đại diện cho giá trị điều chỉnh độ bão hòa cho hiệu ứng này.
Thí dụ
Chương trình sau đây là một ví dụ minh họa hiệu ứng điều chỉnh màu sắc. Ở đây, chúng tôi đang nhúng một hình ảnh (Biểu trưng Tutorialspoint) vào cảnh JavaFX bằng cách sử dụng các lớp Image và ImageView . Điều này đang đượ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.
Ta sẽ điều chỉnh màu sắc của hình ảnh này bằng cách sử dụng hiệu ứng điều chỉnh màu sắc. Với các giá trị độ tương phản, màu sắc, độ sáng và độ bão hòa là 0.4, -0.05, 0.9, 0.8.
Lưu mã này trong một tệp có tên ColorAdjustEffectExample.java .
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.effect.ColorAdjust; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; public class ColorAdjustEffectExample 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 position of the image imageView.setX(100); imageView.setY(70); //setting the fit height and width of the image view imageView.setFitHeight(200); imageView.setFitWidth(400); //Setting the preserve ratio of the image view imageView.setPreserveRatio(true); //Instantiating the ColorAdjust class ColorAdjust colorAdjust = new ColorAdjust(); //Setting the contrast value colorAdjust.setContrast(0.4); //Setting the hue value colorAdjust.setHue(-0.05); //Setting the brightness value colorAdjust.setBrightness(0.9); //Setting the saturation value colorAdjust.setSaturation(0.8); //Applying coloradjust effect to the ImageView node imageView.setEffect(colorAdjust); //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("Coloradjust effect example"); //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 ColorAdjustEffectExample.java java ColorAdjustEffectExample
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.