androidの画面上かViewやsurfaceviewやCanvasの指定した部分の色を取得する。

644 views
Skip to first unread message

くにあつ

unread,
Feb 3, 2015, 2:42:28 AM2/3/15
to android-g...@googlegroups.com
画面上の指定したX・Yのピクセル部分の色を取得することはできないでしょうか?

XMLに設置してあるペイント用のViewクラスからタップした場所の色を取得できるようにしたいです。(目的はちがいますが、ペイントソフトのスポイト機能だと思っていただければと思います。)
現在viewで作られているのでviewもしくはsurfaceviewの指定したピクセル位置の色が取得できたらいいのですが、ない場合はCanvasでもなんとかなるかなとおもっています。

bitmapやimageクラスでは指定位置の色を取得するメソットがあるのですが、viewやCanvasだと見当たらないので質問しました。

おわかりになるかたよろしくおねがいします。


Hirokazu Fukami

unread,
Feb 3, 2015, 4:02:25 AM2/3/15
to android-g...@googlegroups.com
こんにちはfkmです。

SurfaceViewは無理かもですが、普通のViewであれば
getDrawingCache(boolean)でBitmapとして取得できます。


余談ですが、
これを利用してアプリ内のスクリーンショット的な機能を作ることもできます。

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

くにあつ

unread,
Feb 3, 2015, 4:47:40 AM2/3/15
to android-g...@googlegroups.com
なるほど、ViewをbitmapにしてbitmapのgetPixel()で取得するような形でしょうか。

明日早速実装してみます。



2015年2月3日火曜日 18時02分25秒 UTC+9 fkm:
こんにちはfkmです。

SurfaceViewは無理かもですが、普通のViewであれば
getDrawingCache(boolean)でBitmapとして取得できます。


余談ですが、
これを利用してアプリ内のスクリーンショット的な機能を作ることもできます。

On Tue Feb 03 2015 at 16:42:48 くにあつ <satis...@gmail.com> wrote:
画面上の指定したX・Yのピクセル部分の色を取得することはできないでしょうか?

XMLに設置してあるペイント用のViewクラスからタップした場所の色を取得できるようにしたいです。(目的はちがいますが、ペイントソフトのスポイト機能だと思っていただければと思います。)
現在viewで作られているのでviewもしくはsurfaceviewの指定したピクセル位置の色が取得できたらいいのですが、ない場合はCanvasでもなんとかなるかなとおもっています。

bitmapやimageクラスでは指定位置の色を取得するメソットがあるのですが、viewやCanvasだと見当たらないので質問しました。

おわかりになるかたよろしくおねがいします。


--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。
Reply all
Reply to author
Forward
0 new messages