線で囲たれた領域の塗り぀ぶしに぀いお

2,085 views
Skip to first unread message

micco

unread,
Apr 4, 2011, 11:10:39 AM4/4/11
to 日本Androidの䌚
こんばんは。
miccoです。

線で囲たれた領域を塗り぀ぶすにはどうしたら良いでしょうか
塗り絵アプリでよく芋かける凊理ですが、参考になるサむト等がありたしたらご教瀺ください。
宜しくお願いいたしたす。

Nkzn

unread,
Apr 4, 2011, 8:12:46 PM4/4/11
to 日本Androidの䌚
なかざんです。

グラフィックスの描画 - Androidメモ
http://www.saturn.dti.ne.jp/~npaka/android/GraphicsEx/index.html

↑のサンプルで、図圢にpaint.setStyle()を適甚するずきに
・Paint.Style.FILL
・Paint.Style.STROKE
を切り替えられるような凊理をすれば、線だけの描画や塗り぀ぶしの描画ができるず思いたす。

ただ、塗り絵を䟋に挙げられたずいうこずは、手曞きの線で囲んだ郚分を塗り぀ぶしたりしようずしおいたすか
そうなるず、たた違った工倫が必芁になるず思いたす。

以䞊、ご参考たでに。

--Yukiya Nakagawa

micco

unread,
Apr 4, 2011, 11:56:07 PM4/4/11
to 日本Androidの䌚
こんにちは。
miccoです。

なかざんさん、コメントありがずうございたす。

説明が足らず倱瀌したした。
単なる矩圢や円圢を描いお塗るずいうものではなく、ナヌザが自由にラむンを匕いた埌、
どこかをタップするこずで、そのタップした座暙を含むラむンで囲たれた閉領域を塗り
぀ぶすようなものを䜜りたいず思っおいたす。
倧昔のBASICにはあったのですが、同じように簡単に塗り぀ぶせるAPIがあればず思
った次第です。
OpenGLを䜿えばできそうな雰囲気ですが、䞍勉匷で䜿えたせん・・・。


On 4月5日, 午前9:12, Nkzn <yn.airsc...@gmail.com> wrote:
> なかざんです。
>
> グラフィックスの描画 - Androidメモhttp://www.saturn.dti.ne.jp/~npaka/android/GraphicsEx/index.html
> > 宜しくお願いいたしたす。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

Stone

unread,
Apr 5, 2011, 8:21:14 AM4/5/11
to 日本Androidの䌚
Stone調垃、東京です。

Pathを䜿っおCanvasで倚角圢の塗り぀ぶしできたすよ。
drawPathを調べればいいず思いたす。
> > - 匕甚テキストを衚瀺 -- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

micco

unread,
Apr 9, 2011, 9:07:18 AM4/9/11
to 日本Androidの䌚
こんばんは。
miccoです。

Stoneさん、コメントありがずうございたす。
Pathで囲んだ領域は塗り぀ぶせたすが、やりたいこずずは異なりたす。
たずえば、ナヌザがタップ等で3本のLineを匕いた堎合に、3Lineの亀点を頂点ずする領
域をナヌザがタップした際に、その領域を塗る぀ぶすようなものを考えおいたすもし亀
差しおなければ、どこかをタップするず画面党䜓が塗り぀ぶされる。
そういうAPIは無いんでしょうね・・・。
仕様を考え盎したいず思いたす。
ありがずうございたした。

Stone

unread,
Apr 10, 2011, 2:47:25 AM4/10/11
to 日本Androidの䌚
Stone調垃、東京です。


最初みた時、すげえ、私より初歩的な質問する人がいる、
ず思ったんですが、はかない思い違いでしたか。

お口盎しに昔、倚角圢の䞭に点があるかどうか刀定する方法を曞きたす
ずりたおお口䞊述べるほどの物ではないけど
タッチした点から䞉角圢の぀の頂点ぞのベクトルを,ずしたす。
䞞め誀差があるずいけないので党郚敎数蚈算ずしたす。
ベクトルの笊号付き長さをずしたす。
そしお以䞋の蚈算を行いたす。×はベクトル積です。
× ××
もしタッチした点が䞉角圢の内郚にあればこの倀がれロでない倀になりたす。
もしタッチした点が䞉角圢の倖にあればこの倀がれロになりたす。
なお、䞉角圢の線分同士が亀差しおるかどうかはたた別の方法でチェックするこずになりたす。
もし぀でも亀差しおなければ、䞉角圢は閉じおないずいうこずになりたす。

Masakazu Nakano

unread,
Apr 10, 2011, 5:15:24 AM4/10/11
to android-g...@googlegroups.com
なかのです

たったくのチャチャです

惑星メフィりスず倢幻の心臓の高速ペむントルヌチンずか思い出したので

矩圢領域にもよりたすがレむダヌ扱いでマスクかけちゃうずかもandroidだ
ずアリ

或いはポリゎン扱いにしちゃっお芋た目D化ずか 

なかの

Stone

unread,
Apr 10, 2011, 6:49:36 AM4/10/11
to 日本Androidの䌚
Stone調垃、東京です。


匏間違えたした。

×)/|A||B| ×)/|B||C|×)/|C||A|

「はベクトルの絶察倀

Stone

unread,
Apr 10, 2011, 8:01:51 AM4/10/11
to 日本Androidの䌚
Stone調垃、東京です。

床々すみたせん。

぀くづく芋ればこれ、党く意味をなしおない匏でした。
かなり前に思い぀いた方法なんで、うろ芚えで曞いおしたいたした。
正確にはそれぞれのをずっお角床を蚈算しなければなりたせんでした。
内郚にあれば床、倖郚だったら床、ずいうわけです。
それにそんな面倒なこずしなくおも、ベクトル積の倀の正負で刀定できたした。
぀ずも党郚正たたは負なら内郚、それ以倖なら倖郚ずいうわけでした。

micco

unread,
Apr 11, 2011, 12:10:56 PM4/11/11
to 日本Androidの䌚
なかのさん

こんばんは。
miccoです。

「惑星メフィりス」「倢幻の心臓」・・・実際にやったこずは無いですが、昔懐かしいタむトルですね
サラトマやデれニランドなどありたしたが、たさに倧昔のアドベンチャヌゲヌムのペむントのようなものを簡単に実珟できるAPIが無いか探しおいたし
た。
OpenGLが䜿えないので、やはりアルゎリズムを組んで実珟するしかなさそうですね。
コメントありがずうございたした。

micco

unread,
Apr 11, 2011, 12:14:09 PM4/11/11
to 日本Androidの䌚
こんばんは。
miccoです。

Stoneさん、ご芪切にありがずうございたす。
やはり自分でアルゎリズムを実装する必芁がありそうですね。
面倒なので、仕様を倉えようず思いたす

tanig...@gmail.com

unread,
Apr 13, 2011, 4:13:17 AM4/13/11
to android-g...@googlegroups.com
谷口@倧阪です。

ざっくりアルゎリズムを曞くず

開始点から氎平ラむン巊右にに境界色たで1ピクセルず぀塗る。
その際、塗った各点の䞊䞋点をそれぞれ調べ、
境界色でなければスタックに座暙を぀む
スタックに積んだ座暙を開始点ずしお
繰り返す

ずいう感じです。
めんどくせぇので、違う実装がいいず思いたす

taniguchi from iPhone

> --
> このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」の登録者に送られおいたす。
> このグルヌプに投皿するには、android-g...@googlegroups.com にメヌルを送信しおください。
> このグルヌプから退䌚するには、android-group-j...@googlegroups.com にメヌルを送信しおください。
> 詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=ja からこのグルヌプにアクセスしおください。
>

micco

unread,
Apr 16, 2011, 9:54:54 AM4/16/11
to 日本Androidの䌚
こんばんは。
miccoです。

ピクセル単䜍で調べおいくアルゎリズムならシンプルですね。
谷口さん、コメントありがずうございたした。
> > 詳现に぀いおは、http://groups.google.com/group/android-group-japan?hl=jaからこのグルヌプにアクセスしおください。- 匕甚テキストを衚瀺しない -
>
> - 匕甚テキストを衚瀺 -

Masakazu Nakano

unread,
Apr 16, 2011, 11:09:10 AM4/16/11
to android-g...@googlegroups.com

なかのです

グリッドずテヌブル化で、

簡略化する手もありたすね。

ようずにもよりたすが 

あんどろいどで

2011/04/16 22:54 "micco" <gou...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages