La clase ColorAdjust es parte de JavaFX. La clase ColorAdjust permite ajustes por píxel de tono, saturación, brillo y contraste. La clase ColorAdjust hereda la clase Effect.
Constructores de la clase:
- ColorAdjust() : Crea un nuevo Objeto de la clase ColorAdjust
- ColorAdjust (doble tono, doble saturación, doble brillo, doble contraste) : crea un nuevo objeto de la clase ColorAdjust con valores específicos de tono, saturación, brillo y contraste.
Métodos comúnmente utilizados:
Métodos | Explicación |
---|---|
obtenerBrillo() | Devuelve el valor de brillo del efecto ColorAdjust |
establecerBrillo(doble v) | Establece el valor de brillo del efecto ColorAdjust |
obtenerTono() | Devuelve el valor del efecto Hue of ColorAdjust |
setHue(doble v) | Establece el valor del efecto Hue of ColorAdjust |
obtenerContraste() | Devuelve el valor del efecto Contrast of ColorAdjust |
setContrast(doble v) | Establece el valor del efecto Contraste de ColorAdjust |
obtenerSaturación() | Devuelve el valor de Saturación del efecto ColorAdjust |
setSaturation(doble v) | Establece el valor de Saturación del efecto ColorAdjust |
obtenerEntrada() | Devuelve el valor de la entrada de la propiedad. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada |
Los siguientes programas ilustran el uso de la clase ColorAdjust:
- Programa Java para aplicar el efecto de ajuste de color a una imagen con tono, brillo, contraste y saturación específicos: en este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. La imagen llamada imagen se crea utilizando la entrada del flujo de entrada del archivo. A partir de la imagen , se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto ColorAdjust y los valores de tono, saturación, contraste y brillo se establecen mediante la función setHue() , setBrightness() , setSaturation() ,setContrast() y el efecto se establece en la vista de la imagen usando la función setEffect() .
Java
// Java Program to apply color Adjust effect // to a image with specified hue, brightness, // contrast and Saturation import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.image.*; import javafx.scene.effect.*; import java.io.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; public class ColorAdjust_1 extends Application { // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("ColorAdjust example"); // create a input stream FileInputStream input = new FileInputStream("f:\\gfg.png"); // create a image Image image = new Image(input); // create a image View ImageView imageview = new ImageView(image); // create a ColorAdjust effect ColorAdjust color_adjust = new ColorAdjust(); // set hue, saturation, brightness, and contrast color_adjust.setHue(0.4); color_adjust.setBrightness(0.6); color_adjust.setContrast(0.8); color_adjust.setSaturation(0.1); // set effect imageview.setEffect(color_adjust); // create a VBox VBox vbox = new VBox(imageview); // create a scene Scene scene = new Scene(vbox, 200, 200); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
- Imagen de entrada:
- Producción:
- El programa Java para aplicar el efecto de ajuste de color a una imagen con tono, brillo, contraste y saturación se toma como entrada del usuario (usando campos de texto): en este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. La imagen denominada imagen se crea utilizando la entrada del flujo de entrada del archivo. A partir de la imagen, se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto ColorAdjust y los valores de tono, saturación, contraste y brillo se establecen mediante la función setHue() , setBrightness() ,setSaturation() , setContrast() y el efecto se establece en la vista de la imagen usando la función setEffect() . Crearemos cuatro campos de texto (tono, saturación, contraste y brillo) y un botón Botón. El usuario dará los valores necesarios de tono, saturación, contraste y brillo y los valores se aplicarán a la imagen cuando se presione el botón. Se crea un EventHandler para manejar los eventos del botón.
Java
// Java Program to apply color Adjust effect // to a image with hue, brightness, contrast // and Saturation taken as input from from user import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.image.*; import javafx.scene.effect.*; import java.io.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; public class ColorAdjust_2 extends Application { // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("ColorAdjust example"); // textfields TextField hue, saturation, brightness, contrast; // create the textFields hue = new TextField("Hue"); saturation = new TextField("Saturation"); brightness = new TextField("Brightness"); contrast = new TextField("Contrast"); // create a input stream FileInputStream input = new FileInputStream("f:\\gfg.png"); // create a image Image image = new Image(input); // create a image View ImageView imageview = new ImageView(image); // create a ColorAdjust effect ColorAdjust color_adjust = new ColorAdjust(); // create a button Button button = new Button("apply"); // action event EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { // set the hue, brightness, contrast and saturation color_adjust.setHue(Double.parseDouble(hue.getText())); color_adjust.setBrightness(Double.parseDouble( brightness.getText())); color_adjust.setContrast(Double.parseDouble( contrast.getText())); color_adjust.setSaturation(Double.parseDouble( saturation.getText())); } }; // set on action of button button.setOnAction(event); // set effect imageview.setEffect(color_adjust); // create a VBox VBox vbox = new VBox(imageview, hue, saturation, brightness, contrast, button); // create a scene Scene scene = new Scene(vbox, 200, 400); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
- Imagen de entrada:
- Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/ColorAdjust.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA