Simple GIS

GISプログラムの練習

package hada;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.image.*;
import javafx.scene.shape.Rectangle;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import javafx.scene.shape.Line;
import javafx.scene.input.MouseEvent;

public class pro extends Application {
    
Image img;
ImageView imv;
int s,sx,w,h;    
int memor=new int[1000][1000]; 
int memog=new int[100][1000]; 
int memob=new int[1000][1000];
Rectangle rec;
int card=new int[1000][1000];

int cy,cx;

Rectangle wig=new Rectangle[500][500];


    public static void main(String args) {
        launch(args);
    }
        
    @Override
public void start(Stage primaryStage) {

        String pic;
        
        pic="http://img.ske48.co.jp/profile/large/takayanagi_akane.jpg";
        
        
  
       
        w=300;
        h=365;

        catchimg sub=new catchimg();
        sub.h=h;
        sub.w=w;
        sub.makedata(pic);
        memor=sub.memor;
        memog=sub.memog;
        memob=sub.memob;
             
        rec=new Rectangle(0,0,10,10);
        rec.setFill(Color.BLUE); 
        
        
        for(s=1;s<w;s++){
     for(sx=1;sx<h;sx++){
   wig[sx][s]=new Rectangle(s+50,sx+50,1,1);         
   wig[sx][s].setFill(Color.rgb(memor[sx][s],memog[sx][s],memob[sx][s]));  
     }
     }
    
    
        
        
        
img = new Image(pic);
imv = new ImageView(img);
imv.setFitWidth(300);
imv.setFitHeight(365);
imv.setLayoutX(50);
imv.setLayoutY(50);

Group root = new Group();
Scene scene = new Scene(root, 500, 500);
root.getChildren().add(imv);     
    

  for(s=1;s<w;s++){
  for(sx=1;sx<h;sx++){
  root.getChildren().add(wig[sx][s]);  
  }
  }
root.getChildren().add(rec); 

root.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler() {
@Override
public void handle(MouseEvent me) {
double mx,my;
mx=me.getX();
my=me.getY();

cx=(int)mx-50;
cy=(int)my-50;

rec.setLayoutX(mx);
rec.setLayoutY(my);



catchcolor sub4=new catchcolor();
 sub4.w=w;
 sub4.h=h;
sub4.memor=memor;
sub4.memog=memog;
sub4.memob=memob;
sub4.makedata(cx,cy);
card=sub4.card;

for(s=1;s<w;s++){
for(sx=1;sx<h;sx++){
 if(card[sx][s]>50)wig[sx][s].setFill(Color.YELLOW) ;         
if(card[sx][s]<50)wig[sx][s].setFill(Color.rgb(memor[sx][s],memog[sx][s],memob[sx][s]));  ;
}
}
 




 
 

}
});
  
primaryStage.setTitle("Wig");
primaryStage.setScene(scene);
primaryStage.show();
    }

}