Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package pfe_systeme_indexation;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import java.net.URL;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.ResourceBundle;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javafx.embed.swing.SwingFXUtils;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.fxml.FXMLLoader;
- import javafx.fxml.Initializable;
- import javafx.geometry.Point2D;
- import javafx.scene.Parent;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.Label;
- import javafx.scene.control.MenuItem;
- import javafx.scene.control.ScrollPane;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.Border;
- import javafx.scene.layout.BorderPane;
- import javafx.scene.layout.TilePane;
- import javafx.stage.FileChooser;
- import javafx.stage.Stage;
- import javax.imageio.ImageIO;
- /**
- * FXML Controller class
- *
- * @author GEEKLOFT 1
- */
- public class MyClassController implements Initializable {
- ArrayList <ImageProprieties> imageList= new ArrayList<ImageProprieties>();
- ArrayList<Image> imageResult = new ArrayList<Image>();
- int[] rgbHistogram = new int[256*3];
- boolean couleur = false, forme = false;
- int index = 0;
- @FXML
- ImageView myImageView, myImageResult1, myImageResult2, myImageResult3, myImageResult4, myImageResult5, myImageResult6;
- @FXML
- ScrollPane inputImagePanel;
- @FXML
- Button searchBtn;
- @FXML
- TilePane tilePane;
- @FXML
- MenuItem backItem;
- @FXML
- BorderPane border;
- @FXML
- Label imageName;
- public void importImage()throws IOException{
- imageResult.clear();
- tilePane.getChildren().clear();
- //for (int i = 0; i < imageList.size(); i++) tilePane.getChildren().remove(imageResult.get(i));
- Image myImage;
- FileChooser fileChooser = new FileChooser();
- FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG");
- FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG");
- FileChooser.ExtensionFilter extFilterBMP = new FileChooser.ExtensionFilter("BMP files (*.jpg)", "*.BMP");
- //FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG");
- fileChooser.getExtensionFilters().addAll(extFilterJPG, extFilterPNG, extFilterBMP);
- File file = fileChooser.showOpenDialog(null);
- if( file != null){
- try {
- searchBtn.setDisable(false);
- BufferedImage bufferedImage = ImageIO.read(file);
- rgbHistogram = Calcule.imageHistogram(bufferedImage);
- myImage = SwingFXUtils.toFXImage(bufferedImage, null);
- //myImageView.setFitHeight(myImage.getHeight());
- myImageView.setFitWidth(myImage.getWidth());
- myImageView.setPreserveRatio(true);
- imageName.setText("Name : "+file.getName());
- myImageView.setCache(true);
- myImageView.setImage(myImage);
- } catch(IOException exp){
- }
- }
- }
- public void colorIsChecked(){
- if (couleur == false ) couleur = true;
- else couleur = false;
- }
- public void formIsChecked(){
- if (forme == false ) forme = true;
- else forme = false;
- }
- public void searchMethod() throws SQLException, IOException{
- if(couleur) {
- imageResult.clear();
- tilePane.getChildren().clear();
- //System.gc();
- Calcule.getImages(imageList);
- DistanceClass[] tableDesDistance = new DistanceClass[imageList.size()];
- Calcule.calculeDistance(tableDesDistance, imageList, rgbHistogram);
- Calcule.triBulleCroissant(tableDesDistance);
- byte[] imageByte= null;
- Calcule.createImage(imageByte, imageResult, tableDesDistance);
- //myImageResult1.setImage(imageResult.get(0));
- //imageByte= null;
- System.out.println(imageResult.size()+" "+imageByte);
- for (int i = 0; i < imageList.size(); i++) tilePane.getChildren().add(new ImageView(imageResult.get(i)));
- }
- for (int i = 0; i < imageList.size(); i++) System.out.println("name : ");
- if(couleur) System.out.println("recheche par couleur");
- else System.out.println("pas couleur");
- if(forme) System.out.println("recherche par forme");
- else System.out.println("pas forme");
- }
- @FXML
- public void apropo(){
- Alert alert = new Alert(AlertType.INFORMATION);
- alert.setTitle("Apropos de ce Projet de Fin d'étude");
- Image myImage = new Image(getClass().getResourceAsStream("/Icons/UnivLOGO.jpg"));
- ImageView imageView = new ImageView(myImage);
- alert.setGraphic(imageView);
- alert.setHeaderText(null);
- alert.setContentText("Université 8 Mai 1945 GUELMA \n Créer par : \n Encadrer Par : \n 04/2016");
- alert.showAndWait();
- }
- @FXML
- public void goHome(ActionEvent event){
- Stage stage = null;
- Parent root = null;
- try {
- stage=(Stage) border.getScene().getWindow();
- root = FXMLLoader.load(getClass().getResource("/pfe_systeme_indexation/MainViewClass.fxml"));
- Scene scene = new Scene( root);
- stage.setTitle("Connectez vous");
- stage.setScene(scene);
- stage.setResizable(true);
- stage.show();
- } catch (IOException ex) {
- Logger.getLogger(MainClassController.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void nextImage(){
- index = (index + 1) % imageResult.size();
- myImageResult1.setImage(imageResult.get(index));
- }
- /**
- * Initializes the controller class.
- */
- @Override
- public void initialize(URL url, ResourceBundle rb) {
- // TODO
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement