画像に線を描けるようにしたい

1,961 views
Skip to first unread message

armira

unread,
Dec 18, 2011, 5:32:37 AM12/18/11
to 日本Androidの会
android開発初心者です。

画像の上に線を描くことはできたのですが、消しゴムを使うと画像ごと消えてしまいます。
canvasの背景を画像にして、その上に描画できる透明な画像を作るようにしたいのですがどのようにすればできるでしょうか?

Takuto Kondo

unread,
Dec 19, 2011, 4:52:12 PM12/19/11
to 日本Androidの会
背景画像の描画に使用しているCanvasを使ってdrawPathなどで線を書けば、線と背景画像は一枚の画像になってしまいます。
FrameLayoutに背景画像のImageViewと線画像のImageViewを重ねたらどうでしょう?

K・F

unread,
Dec 19, 2011, 8:51:09 PM12/19/11
to 日本Androidの会
こんにちはK・Fと申します。
画像にらくがきするようなアプリを作りたいという認識でよろしいでしょうか?
その場合、画像に直接書き込んでしまうと自由が効かないので、canvasをうまく利用すると良いと思います。
手順としては、

①activityにimageviewとviewクラスをレイアウトで登録
②imageviewに元画像登録
③viewクラス側でアルファ値なしの画面を作成し、ラインなどで図形描画

これだけで、見た目はあたかも画像に落書きをしているかのように見えます。
重要なのは、この編集時には画像に落書きをしているわけではないという点です。
実際に落書きの結果を書き込むのは、出力する段階です。
手順としては、

①2つのbitmapを用意。
②bitmap1に元画像を入れる(そのまま使ってもいい)
③bitmap2に先のviewクラスのcanvasから作成したbitmapを入れる。
④ローカルcanvasを定義してbitmap1、bitmap2の順番にdrawbitmapする
⑤ローカルcanvasからbitmapを作成しファイル保存

となります。
canvasにローカルで作成したbitmapを登録し、それを返すと言うやり方もありますが、
それは取りあえず流れを作ってみて、最適化を検討し始めた段階でも十分ですので、
一先ずは処理速度や処理削減は考えず、流れを作ってみてください。
やっているうちにどうすればいいのか分かってくるはずです。
よろしくお願いします。


On 12月18日, 午後7:32, armira <anngorumoa2...@yahoo.co.jp> wrote:

AdachiDaisuke

unread,
Dec 20, 2011, 1:44:05 AM12/20/11
to 日本Androidの会
安達と申します。

書籍「iPhone&Androidクロスプラットフォームアプリケーション開発」
がお絵描きアプリを題材にしています。
書籍:
<http://www.amazon.co.jp/iPhone-Androidクロスプラットフォームアプリケーション開発~スマートフォン用グ

フィックスツール作成で学ぶ~-鈴木-晃/dp/4839934142/ref=dp_return_2?
ie=UTF8&n=465392&s=books>
サンプルコード:
<http://web.me.com/s.akira/iPhoneAndroidAppDev/index.html>

上記サンプルコードに背景画像用のレイヤを追加すれば良いです。

Androidアプリ開発入門リンク集:
http://bestforce1.blogspot.com/p/android.html

Reply all
Reply to author
Forward
0 new messages