質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1392閲覧

Android Studio なぞって色を付けた部分のみ抽出したい

sekaikan_ozaki

総合スコア65

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

1グッド

0クリップ

投稿2019/06/07 09:00

PCスペック
Windows10 HOME 64bit
メモリ 32GB
プロセッサ Intel Core i7-8700CPU 3.20GHz
Android Studio 3.4.1(最新ver)
デモ用端末(XPERIA OS:7.0 API 24)

いつもお世話になっております。
アプリ画面内の指でなぞった部分だけを、矩形のような形でもなんでもよいので、なんらかの形で画像形式に変換して取り出したいと思っています。

いまは写真のような形で、単純にアプリ内になぞった痕跡を描画しています。

その部分のソースと写真はこんな感じです。

java

1 private Paint paint; 2 private Path path; 3 4 path = new Path(); 5 paint = new Paint(); 6 7protected void onDraw(Canvas canvas) { 8 canvas.drawPath(path, paint);// Pathの描画 9 } 10 11public boolean onTouchEvent(MotionEvent event) { 12 float x = event.getX(); 13 float y = event.getY(); 14 15 switch (event.getAction()) { 16 case MotionEvent.ACTION_DOWN://- 画面をタッチしたとき 17 path.moveTo(x, y);// 始点を設定 18 invalidate(); 19 break; 20 case MotionEvent.ACTION_MOVE://- タッチしながら指をスライドさせたとき 21 path.lineTo(x, y);// 移動先の追加 22 invalidate(); 23 break; 24 case MotionEvent.ACTION_UP://- 画面から指を離したとき 25 path.lineTo(x, y);// 移動先の追加 26 invalidate(); 27 break; 28 } 29 return true; 30 }

イメージ説明

やりたいこと

なぞった部分のみ画像として保存したいです。
なかなか調べても解決方法が見つからなかったので教えていたたきたいです。

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

なぞったときのXY座標はとれているようですので、それを元に切り出したい矩形の座標とサイズができれば、
下記の方法で切り出せるかと。
BITMAPREGIONDECODERクラスで画像を切り出す

(追記)
画面のキャプチャはこちらの方法で。
AndroidでViewのキャプチャを撮る

投稿2019/06/07 09:57

編集2019/06/10 01:12
dsuzuki

総合スコア1682

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sekaikan_ozaki

2019/06/10 00:27

回答ありがとうございます。 サイトを参照させていただくと、BitmapRegionDecoderクラスというのは、前提条件としてjpgかpngの画像のみを読み取るクラスらしいのですが、そもそも画像でもない「なぞった部分」だけを最終的に画像として切り出すのは可能なのでしょうか?
dsuzuki

2019/06/10 01:14

画面のキャプチャはとれるので、切り出し処理と併せればできるかと。(回答に追記しました。)
sekaikan_ozaki

2019/06/10 02:41 編集

キャプチャのソースコードを自身のソースに追加してみましたが、保存したキャプチャは実機のどこへ保存されているのでしょうか? アルバムアプリで見当たらなかったので... ちなみにエラー文ではないですが、 java.io.FileNotFoundException: /storage/emulated/0/capture.jpeg (Permission denied) logcatでこのように権限が拒否されているのが少しひっかかります。。 なにか関係があるのでしょうか
sekaikan_ozaki

2019/06/10 05:38

>[[Android] 外部ストレージにファイルを保存する WRITE_EXTERNAL_STORAGE ]https://akira-watson.com/android/external-storage-file.html こちらの記事に書いてありました、Android Studio上でDevice File Explorerを開いて実機のファイルの中身を確認してみましたところ、ちゃんと保存したキャプチャが存在するのが確認できました! logcatにも先ほどのような文章が表示されてないので、おそらく問題ないと思います。 最初アルバムアプリ内に表示されてなく、心配だったのですが、実機に搭載されていたFile Commanderというアプリで内部ストレージのファイルの情報を実機上でも確認することができ、安心しました。 本当に助かりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問