package img;
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.image.Image;
import java.io.File;
import static javafx.application.Application.launch;
import javafx.scene.image.ImageView;
import javafx.scene.Group;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.input.MouseEvent;
public class pro extends Application {
GraphicsContext gc;
int h=800;
int w=800;
int[][] memor=new int[h][w];
int[][] memog=new int[h][w];
int[][] memob=new int[h][w];
int number;
int[] sampler=new int[100];
int[] sampleg=new int[100];
int[] sampleb=new int[100];
int[] pointx=new int[100];
int[] pointy=new int[100];
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
faststep sub2=new faststep();
sub2.makedata("data.png");
w=sub2.w;
h=sub2.h;
catchimg sub=new catchimg();
sub.w=w;
sub.h=h;
sub.makedata("data.png");
memor=sub.memor;
memog=sub.memog;
memob=sub.memob;
Canvas canvas = new Canvas(500, 500);
gc = canvas.getGraphicsContext2D();
canvas.setLayoutX(50);
canvas.setLayoutY(50);
int mx,nx;
for(mx=0;mx<h;mx++){
for(nx=0;nx<w;nx++){
gc.setFill(Color.rgb(memor[mx][nx],memog[mx][nx],memob[mx][nx]));
gc.fillRect(nx,mx,1,1);
}}
canvas.addEventHandler(MouseEvent.MOUSE_CLICKED,
new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
int x1,y1;
int px=(int)e.getX();
int py=(int)e.getY();
gc.setFill(Color.RED);
gc.fillRect(px,py,10,10);
}
});
Group root = new Group();
Scene scene = new Scene(root, 700, 700);
root.getChildren().add(canvas);
primaryStage.setTitle("写真");
primaryStage.setScene(scene);
primaryStage.show();
}
}
package img;
import java.awt.*;
import java.awt.image.*;
import java.net.URL;
import java.net.MalformedURLException;
public class catchimg {
PixelGrabber pg;
Color col;
Image img;
int red,green,blue;
int mx,nx,m,n;
int ex,ey;
String s1,s2,s3,s4;
URL urlx;
int w;
int h;
int[] pix=new int[2500*2500];
int[][] memor=new int[2500][2500];
int[][] memog=new int[2500][2500];
int[][] memob=new int[2500][2500];
void makedata(String pic){
catchimg(pic);
}
void catchimg(String s){
img = Toolkit.getDefaultToolkit().getImage(s);
pg = new PixelGrabber(img,0,0,w,h,pix,0,w);
try{pg.grabPixels();}catch(InterruptedException ie){}
m=0;
n=0;
for(int i=0;i<w*h;i++){
int p = pix[i];
col=new Color(pix[i]);
red=col.getRed();
green=col.getGreen();
blue=col.getBlue();
memor[m][n]=red;
memog[m][n]=green;
memob[m][n]=blue;
n=n+1;
if (n==w)m=m+1;
if (n==w)n=0;
}
}
}
package img;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
public class faststep {
Image img;
int w,h;
void makedata(String pic){
ImageIcon icon = new ImageIcon(pic);
h = icon.getIconHeight();
w = icon.getIconWidth();
}}
最終更新:2015年06月05日 22:00