質問編集履歴
5
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
画像をタップして色コードを取得し、近い色を探して色名を得るプログラム
|
test
CHANGED
File without changes
|
4
教えてくださったことを参考にプログラムを編集しました。 カラーコードから色名の取得について質問を追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,8 +10,16 @@
|
|
10
10
|
|
11
11
|
(下記プログラムは端末内の画像を選択し出力、そして、タップした座標を求めるプログラムです。)
|
12
12
|
|
13
|
+
◎追加記
|
14
|
+
|
15
|
+
タップした場所のカラーコードを取得するプログラムにしました。
|
16
|
+
|
17
|
+
カラーコードから色名を取得、出力する方法をご教授お願いします。
|
18
|
+
|
13
19
|
```java
|
14
20
|
|
21
|
+
|
22
|
+
|
15
23
|
import androidx.appcompat.app.AppCompatActivity;
|
16
24
|
|
17
25
|
import androidx.core.content.ContextCompat;
|
@@ -20,6 +28,8 @@
|
|
20
28
|
|
21
29
|
|
22
30
|
|
31
|
+
import android.annotation.SuppressLint;
|
32
|
+
|
23
33
|
import android.content.Intent;
|
24
34
|
|
25
35
|
import android.graphics.Bitmap;
|
@@ -64,7 +74,9 @@
|
|
64
74
|
|
65
75
|
private ImageView imageView;
|
66
76
|
|
77
|
+
private Bitmap bmp;
|
78
|
+
|
67
|
-
private TextView
|
79
|
+
private TextView colorRGB;
|
68
80
|
|
69
81
|
|
70
82
|
|
@@ -82,7 +94,7 @@
|
|
82
94
|
|
83
95
|
|
84
96
|
|
85
|
-
|
97
|
+
colorRGB = (TextView)findViewById(R.id.colorrgb);
|
86
98
|
|
87
99
|
|
88
100
|
|
@@ -132,7 +144,7 @@
|
|
132
144
|
|
133
145
|
try {
|
134
146
|
|
135
|
-
|
147
|
+
bmp = getBitmapFromUri(uri);
|
136
148
|
|
137
149
|
imageView.setImageBitmap(bmp);
|
138
150
|
|
@@ -172,17 +184,33 @@
|
|
172
184
|
|
173
185
|
|
174
186
|
|
187
|
+
@SuppressLint("SetTextI18n")
|
188
|
+
|
175
189
|
@Override
|
176
190
|
|
177
191
|
public boolean onTouchEvent(MotionEvent event) {
|
178
192
|
|
193
|
+
switch (event.getAction()) {
|
194
|
+
|
195
|
+
case MotionEvent.ACTION_DOWN:
|
196
|
+
|
179
197
|
int x = (int) event.getRawX(); //タッチしたX座標
|
180
198
|
|
181
199
|
int y = (int) event.getRawY(); //タッチしたY座標
|
182
200
|
|
183
201
|
|
184
202
|
|
203
|
+
int touchedRGB = bmp.getPixel(x, y);
|
204
|
+
|
205
|
+
|
206
|
+
|
185
|
-
|
207
|
+
colorRGB.setText("touched color: " + "#" + Integer.toHexString(touchedRGB));
|
208
|
+
|
209
|
+
colorRGB.setTextColor(touchedRGB);
|
210
|
+
|
211
|
+
break;
|
212
|
+
|
213
|
+
}
|
186
214
|
|
187
215
|
|
188
216
|
|
3
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
どうかご教授お願いします。
|
10
10
|
|
11
|
-
(下記プログラムは端末内の画像を選択し
|
11
|
+
(下記プログラムは端末内の画像を選択し出力、そして、タップした座標を求めるプログラムです。)
|
12
12
|
|
13
13
|
```java
|
14
14
|
|
2
座標を求めるプログラムを追加しておきました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,6 +64,8 @@
|
|
64
64
|
|
65
65
|
private ImageView imageView;
|
66
66
|
|
67
|
+
private TextView tap = null;
|
68
|
+
|
67
69
|
|
68
70
|
|
69
71
|
|
@@ -77,6 +79,10 @@
|
|
77
79
|
setContentView(R.layout.activity_main);
|
78
80
|
|
79
81
|
imageView = (ImageView) findViewById(R.id.image_view);
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
this.tap = (TextView) findViewById(R.id.tap_id);
|
80
86
|
|
81
87
|
|
82
88
|
|
@@ -164,12 +170,28 @@
|
|
164
170
|
|
165
171
|
}
|
166
172
|
|
173
|
+
|
174
|
+
|
167
175
|
@Override
|
168
176
|
|
169
177
|
public boolean onTouchEvent(MotionEvent event) {
|
178
|
+
|
179
|
+
int x = (int) event.getRawX(); //タッチしたX座標
|
180
|
+
|
181
|
+
int y = (int) event.getRawY(); //タッチしたY座標
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
tap.setText("X座標 " + x + "Y座標 " + y);
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
return true;
|
170
190
|
|
171
191
|
|
172
192
|
|
173
193
|
}
|
174
194
|
|
195
|
+
}
|
196
|
+
|
175
197
|
```
|
1
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
また、座標を求めることはできたのですが、やりたいことは同じなので画像とか関係なく座標の数値だけで色コードを取得することはできませんか?(取得範囲を画面全体にするということ)
|
8
8
|
|
9
9
|
どうかご教授お願いします。
|
10
|
+
|
11
|
+
(下記プログラムは端末内の画像を選択し、出力するプログラムです。)
|
10
12
|
|
11
13
|
```java
|
12
14
|
|
@@ -61,8 +63,6 @@
|
|
61
63
|
private static final int RESULT_PICK_IMAGEFILE = 1000;
|
62
64
|
|
63
65
|
private ImageView imageView;
|
64
|
-
|
65
|
-
private TextView colorRGB;
|
66
66
|
|
67
67
|
|
68
68
|
|