Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import sample.Histogram;
- import javafx.beans.value.ChangeListener;
- import javafx.beans.value.ObservableValue;
- import javafx.fxml.FXML;
- import javafx.scene.chart.BarChart;
- import javafx.scene.chart.XYChart;
- import javafx.scene.chart.XYChart.Data;
- import javafx.scene.control.Button;
- import javafx.scene.control.ChoiceBox;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- public class histController {
- @FXML
- private BarChart<String, Number> barChart;
- @FXML
- private ChoiceBox<String> rgbChoiceBox;
- private Histogram imageHistogram;
- private Image originalImage;
- @FXML
- private Button rozciagnijButton, wyrownajButton, rozjasnijButton, przyciemnijButton, originalButton;
- @FXML
- void initialize() {
- barChart.setAnimated(false);
- barChart.setLegendVisible(false);
- rgbChoiceBox.setValue("All");
- rgbChoiceBox.getItems().add("All");
- rgbChoiceBox.getItems().add("RGB");
- rgbChoiceBox.getItems().add("R");
- rgbChoiceBox.getItems().add("G");
- rgbChoiceBox.getItems().add("B");
- rgbChoiceBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
- @Override
- public void changed(ObservableValue<? extends String> arg0, String arg1, String arg2) {
- if (arg2 == "R")
- drawR();
- else if (arg2 == "G")
- drawG();
- else if (arg2 == "B")
- drawB();
- else if (arg2 == "RGB")
- drawRGB();
- else if (arg2 == "All")
- drawAll();
- }
- });
- }
- public void drawHistogram(ImageView imageView) {
- barChart.getData().clear();
- imageHistogram = new Histogram(imageView);
- originalImage = imageView.getImage();
- drawAll();
- colorChart();
- }
- private void drawR() {
- barChart.getData().clear();
- barChart.getData().add(imageHistogram.getSeriesRed());
- }
- private void drawG() {
- barChart.getData().clear();
- barChart.getData().add(imageHistogram.getSeriesGreen());
- }
- private void drawB() {
- barChart.getData().clear();
- barChart.getData().add(imageHistogram.getSeriesBlue());
- }
- private void drawRGB() {
- barChart.getData().clear();
- barChart.getData().add(imageHistogram.getSeriesRGB());
- XYChart.Series seriesRGB = barChart.getData().get(0);
- seriesRGB.getData().forEach(d -> ((Data) d).getNode().setStyle("-fx-bar-fill: grey"));
- }
- private void drawAll() {
- barChart.getData().clear();
- barChart.getData().addAll(imageHistogram.getSeriesRed(), imageHistogram.getSeriesGreen(),
- imageHistogram.getSeriesBlue());
- }
- private void colorChart() {
- XYChart.Series seriesRed = barChart.getData().get(0);
- XYChart.Series seriesGreen = barChart.getData().get(1);
- XYChart.Series seriesBlue = barChart.getData().get(2);
- seriesRed.getData().forEach(d -> ((Data) d).getNode().setStyle("-fx-bar-fill: red"));
- seriesGreen.getData().forEach(d -> ((Data) d).getNode().setStyle("-fx-bar-fill: green"));
- seriesBlue.getData().forEach(d -> ((Data) d).getNode().setStyle("-fx-bar-fill: blue"));
- }
- @FXML
- public void rozciagnijHistogram() {
- imageHistogram.rozciagnijHistogram();
- rgbChoiceBox.setValue("All");
- drawAll();
- colorChart();
- }
- @FXML
- public void wyrownajHistogram() {
- imageHistogram.wyrownajHistogram();
- rgbChoiceBox.setValue("All");
- drawAll();
- colorChart();
- }
- @FXML
- public void rozjasnijHistogram() {
- imageHistogram.rozjasnijHistogram();
- rgbChoiceBox.setValue("All");
- drawAll();
- colorChart();
- }
- @FXML
- public void przyciemnijHistogram() {
- imageHistogram.przyciemnijHistogram();
- rgbChoiceBox.setValue("All");
- drawAll();
- colorChart();
- }
- @FXML
- public void setToOroginalImage() {
- imageHistogram.setImage(originalImage);
- rgbChoiceBox.setValue("All");
- drawAll();
- colorChart();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement