package delta;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.shape.*;
import static javafx.application.Application.launch;
import javafx.scene.paint.Color;
import javafx.scene.input.MouseEvent;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.canvas.Canvas;
import javafx.scene.image.PixelReader;
import javafx.scene.canvas.GraphicsContext;
public class pro extends Application {
Canvas cam;
GraphicsContext gc;
int[][] mr=new int[2000][2000];
int[][] mg=new int[2000][2000];
int[][] mb=new int[2000][2000];
int[] x=new int[1000];
int[] y=new int[1000];
int number;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Image im = new Image("file:neko.jpg");
int h=(int)im.getHeight();
int w=(int)im.getWidth();
ImageView imageView = new ImageView();
imageView.setImage(im);
PixelReader reader = im.getPixelReader();
int mx,nx;
for(mx=0;mx<h;mx++){
for(nx=0;nx<w;nx++){
Color col = reader.getColor(nx, mx);
mr[mx][nx] =(int)(255*col.getRed());
mg[mx][nx] = (int)(255*col.getGreen());
mb[mx][nx] = (int)(255*col.getBlue());
}
}
number=0;
cam = new Canvas(h,w);
gc = cam.getGraphicsContext2D();
for(mx=0;mx<500;mx++){
for(nx=0;nx<500;nx++){
Color c = Color.rgb(mr[mx][nx],mg[mx][nx],mb[mx][nx]);
gc.setFill(c);
gc.fillRect(nx,mx,1,1);
}
}
cam.addEventHandler(MouseEvent.MOUSE_CLICKED,
new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
int x1,y1;
number=number+1;
int px=(int)e.getX();
int py=(int)e.getY();
x[number]=px;
y[number]=py;
gc.setFill(Color.RED);
gc.fillRect(px,py,10,10);
}
});
Button btn = new Button("計算");
btn.setLayoutX(300);
btn.setLayoutY(600);
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
hello sub=new hello();
sub.makedata();
}
});
Group root = new Group();
Scene scene = new Scene(root, 700, 700);
root.getChildren().add(cam);
root.getChildren().add(btn);
primaryStage.setTitle("グラフ");
primaryStage.setScene(scene);
primaryStage.show();
}
}
package delta;
import java.io.*;
public class hello {
int[] x=new int[1000];
int[] y=new int[1000];
int number;
String[] card=new String[500];
void makedata(){
number=1;
card[1]="<rect x=\"50\" y=\"50\" width=\"300\" height=\"100\" fill=\"red\"/>";
writehtml("ren.html");
}
void writehtml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
pw.println("<html>");
pw.println("<head>");
pw.println("<meta charset=\"UTF-8\">");
pw.println("</head>");
pw.println("<body>");
pw.println("<svg width=\"500\" height=\"500\">");
pw.println(card[1]);
pw.println("</svg>");
pw.println("</body>");
pw.println("</html>");
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
}
最終更新:2015年06月13日 09:53