La clase SepiaTone es parte de JavaFX. La clase SepiaTone se usa para agregar un efecto de tono sepia a la imagen que es similar a las fotografías antiguas. Al aplicar el efecto SepiaTone aparece en la imagen un tono marrón rojizo.
Constructores de la clase:
- SepiaTone() : Crea un nuevo objeto de la clase SepiaTone.
- SepiaTone(doble l) : Crea un nuevo objeto SepiaTone con el nivel especificado.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerEntrada() | Devuelve el valor de la entrada de propiedad. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
setLevel(doble v) | Establece el valor del nivel del objeto Tono sepia. |
obtenerNivel() | Devuelve el valor del nivel del objeto Tono Sepia. |
Los siguientes programas ilustran el uso de la clase SepiaTone:
- Programa Java para importar una imagen y agregarle un efecto SepiaTone: 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 SepiaTone con un nivel específico que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() .
// Java program to import an image
// and add SepiaTone effect to it
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
sepia_tone_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"SepiaTone Example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a sepia_tone effect
SepiaTone sepia_tone =
new
SepiaTone(
0.5
);
// set effect
imageview.setEffect(sepia_tone);
// 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);
}
}
- Programa Java para importar una imagen y configurarle el efecto SepiaTone. El nivel del efecto SepiaTone se puede controlar usando el botón: 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 SepiaTone con un nivel específico que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() . Se crea un botón llamado Botón que se usa para aumentar el SepiaTonede la imagen El botón también se agrega al VBox . El SepiaTone de la imagen se incrementa usando la función setLevel() . Los eventos relacionados con el botón se manejan usando EventHandler .
// Java program to import an image and set
// SepiaTone effect to it. The Level of the
// SepiaTone effect can be controlled
// using the button
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
sepia_tone_2
extends
Application {
double
level =
0.1
;
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"SepiaTone Example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a sepia_tone effect
SepiaTone sepia_tone =
new
SepiaTone(level);
// create a button
Button button =
new
Button(
"increase"
);
// action event
EventHandler<ActionEvent> event =
new
EventHandler<ActionEvent>() {
public
void
handle(ActionEvent e)
{
// increase the level
level +=
0.1
;
if
(level >
1
)
level =
0.0
;
// set Level for sepia_tone
sepia_tone.setLevel(level);
}
};
// set on action of button
button.setOnAction(event);
// set effect
imageview.setEffect(sepia_tone);
// create a VBox
VBox vbox =
new
VBox(imageview, button);
// create a scene
Scene scene =
new
Scene(vbox,
300
,
300
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
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/SepiaTone.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