teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

2021/06/07 12:28

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,122 +1,5 @@
1
1
  2つのプログラムを別に作成しました。
2
2
 
3
3
  1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
4
- ```Java
5
- import javax.swing.*;
6
- import java.awt.Point;
7
- import java.awt.image.BufferedImage;
8
- import java.awt.Color;
9
- import java.awt.BorderLayout;
10
- import java.awt.event.*;
11
- import javax.swing.JFrame;
12
- import javax.swing.JPanel;
13
- import java.io.File;
14
- import java.io.IOException;
15
- import javax.imageio.ImageIO;
16
- import java.awt.Graphics;
17
- import java.awt.Graphics2D;
18
-
19
- public class JPointTest extends JFrame implements MouseListener{
20
-
21
- JLabel label;
22
- BufferedImage image = null;
23
-
24
- public static void main(String[] args){
25
- JPointTest frame = new JPointTest();
26
-
27
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
28
- frame.setBounds(10, 10, 300, 200);
29
- frame.setTitle("タイトル");
30
- frame.setVisible(true);
31
- }
32
-
33
- JPointTest(){
34
- JPanel panel = new JPanel();
35
- panel.addMouseListener(this);
36
-
37
- try {
38
- image = ImageIO.read(new File("A01.jpg"));
39
- } catch (Exception e) {
40
- e.printStackTrace();
41
- image = null;
42
- }
43
-
44
- //System.out.println(new File("~/Desktop/A01.jpg").getAbsoluteFile());
45
-
46
- label = new JLabel("座標値");
47
-
48
- getContentPane().add(panel, BorderLayout.CENTER);
49
- getContentPane().add(label, BorderLayout.PAGE_END);
50
- }
51
- public void paint(Graphics g){
52
- g.drawImage(image, 0, 0, this);
53
- }
54
- public void mouseClicked(MouseEvent e){
55
- Point point = e.getPoint();
56
- label.setText("x:" + **__point.x__** + ",y:" + **__point.y__**);
57
- }
58
-
59
- public void mouseEntered(MouseEvent e){}
60
- public void mouseExited(MouseEvent e){}
61
- public void mousePressed(MouseEvent e){}
62
- public void mouseReleased(MouseEvent e){}
63
-
64
- }
65
- ```
66
-
67
- つ目は、ファイルの中にある画像の座標を計算→その座標の色味を表示するプログラムです
4
+ つ目はキーボードで入力した値で計算するプログラム。
68
- ```java
69
- import java.awt.Color;
70
- import java.awt.image.BufferedImage;
71
- import java.io.File;
72
- import java.io.IOException;
73
- import javax.imageio.ImageIO;
74
-
75
- public class Study {
76
-
77
- public static void main(String[] args) {
78
-
79
- String filename = "A";
80
- String imagename;
81
-
82
- try{
83
- int **__xA**__=0__**__**;
84
- int **__yA**__=0__**__**;
85
- int NoA=0;
86
- int xD=100;
87
- int yD=100;
88
- int NoD=20;
89
-
90
- for (int i=NoA; i<=NoD; i++){
91
-
92
- int X,Y;
93
- X=(xD-xA)*(i-NoA)/(NoD-NoA)+xA;
94
- Y=(yD-yA)*(i-NoA)/(NoD-NoA)+yA;
95
-
96
- String str = String.valueOf(i);
97
- imagename=filename+str+".jpg";
98
- System.out.print(imagename);
99
- System.out.print(":x="+X);
100
- System.out.print(",y="+Y);
101
-
102
-
103
- BufferedImage img = ImageIO.read(new File(imagename));
5
+ これらを合わせて、マウスクリックで入力した座標で計算するプログラムを作りたかったのですが、エラーが出てしまい出来ません。
104
-
105
- Color color = new Color (img.getRGB(X,Y));
106
-
107
-
108
-
109
- int Green = color.getGreen();
110
- System.out.print("緑:"+Green);
111
-
112
- }
113
-
114
- }catch(IOException e){
115
- e.printStackTrace();
116
- }
117
- }
118
- }
119
- ```
120
- 1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
121
- (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
122
- 2つは同じフォルダの中に入っています。

3

文章を訂正しました

2021/06/07 12:28

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -119,6 +119,4 @@
119
119
  ```
120
120
  1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
121
121
  (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
122
- 2つは同じフォルダの中に入っています。
122
+ 2つは同じフォルダの中に入っています。
123
-
124
- java初心者のためクラスの構造?などが理解できていないのかもしれません。お知恵をお借りできればと思います。

2

文章を訂正しました

2021/06/07 06:22

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -119,6 +119,6 @@
119
119
  ```
120
120
  1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
121
121
  (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
122
- 2つは同じファイルの中に入っています。
122
+ 2つは同じフの中に入っています。
123
123
 
124
124
  java初心者のためクラスの構造?などが理解できていないのかもしれません。お知恵をお借りできればと思います。

1

ソースコードを囲みました。

2021/06/07 06:17

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  2つのプログラムを別に作成しました。
2
2
 
3
3
  1つ目はウィンドウに画像を表示し、マウスクリックでウィンドウ上に座標を出すプログラム。
4
+ ```Java
4
5
  import javax.swing.*;
5
6
  import java.awt.Point;
6
7
  import java.awt.image.BufferedImage;
@@ -61,8 +62,10 @@
61
62
  public void mouseReleased(MouseEvent e){}
62
63
 
63
64
  }
65
+ ```
64
66
 
65
67
  2つ目は、ファイルの中にある画像の座標を計算→その座標の色味を表示するプログラムです。
68
+ ```java
66
69
  import java.awt.Color;
67
70
  import java.awt.image.BufferedImage;
68
71
  import java.io.File;
@@ -113,7 +116,7 @@
113
116
  }
114
117
  }
115
118
  }
116
-
119
+ ```
117
120
  1つ目のプログラムのpoint.xとpoint.yの値を(太字の部分)それぞれ2つ目のプログラムのxA,yAに入れて2つ目のプログラムの計算を行いたいのですが、うまく繋がりません。
118
121
  (要は2つ目のプラグラムの計算をマウスクリック入力で行いたいです。)
119
122
  2つは同じファイルの中に入っています。