JavaFX | Clase de ajuste de color

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: 
 

  1. ColorAdjust() : Crea un nuevo Objeto de la clase ColorAdjust
  2. 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: 
 

  1. 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);
    }
}
  1. Imagen de entrada: 
     

  1. Producción: 
     

  1. 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);
}
}
  1. Imagen de entrada:
     

  1. Producción:
     

  1.  

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *