アットウィキロゴ

画像処理8

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