--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
> 透明化をするには
> bmpCanvas.drawColor(Color.WHITE);
> の記述を
> bmpCanvas.drawColor(Color.argb(0, 0, 0, 0));
> に書き換えることでBitmapの背景を透明にできます
> (保存時の画像形式はPNGで保存する)
これでも透明になると思いますが、下地を白にして絵を描きたいと思います。ところ
が、一度色を塗ってしまうと、色を透明にすることがなかなか大変でした。
bmpCanvas.drawColor(Color.WHITE);
した後、
bmpCanvas.drawColor(Color.argb(0, 0, 0, 0));
しても、透明にならなかったです。
結局、私が用いた方法は、直接カラーコードを書き換える方法です。
int width = mBmp.getWidth();
int height = mBmp.getHeight();
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if( mBmp.getPixel(x, y)==0xffffffff){ mBmp.setPixel(x, y, 0); }
}
}
ただ、これだと処理がたいへん遅かったので、下記のようにしました。
int width = mBmp.getWidth();
int height = mBmp.getHeight();
int[] pixels = new int[width * height];
mBmp.getPixels(pixels, 0, width, 0, 0, width, height);
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if( pixels[x + y * width]==0xffffffff){ pixels[x + y * width] = 0; }
}
}
mBmp.eraseColor(Color.argb(0, 0, 0, 0));
mBmp.setPixels(pixels, 0, width, 0, 0, width, height);
こっちの方が処理が速かったです。
ところで、ロウキルさんに質問ですが、Viewに書いたものをどうやってBitmapに持って
きているのでしょうか。このやり方が、私にはわからないのです。
よろしくお願いします。
(2010/10/19 22:42), mosaki4 wrote:
> 大崎といいます
>
> こちらのサイトで紹介されている方法で背景が白色の実装はほぼできると思います
> http://www.hakkaku.net/articles/20090831-579
>
> 透明化をするには
> bmpCanvas.drawColor(Color.WHITE);
> の記述を
> bmpCanvas.drawColor(Color.argb(0, 0, 0, 0));
> に書き換えることでBitmapの背景を透明にできます
> (保存時の画像形式はPNGで保存する)
>
>
> 2010年10月11日17:44 ロウキル <kkei...@gmail.com <mailto:kkei...@gmail.com>>:
>
> こんにちわ。
> いつもお世話になっております。
>
> Viewに手書きした画像を以下の方法で.pngに保存するという機能を実装しているので
> すが、
> 保存する場合にBitmapの背景を透明にする方法はありますでしょうか(背景が白色な
> ので白を透明にするでもいいです)
> または、読み込み時に透過する方法でもいいのですが、やり方がわからずに困ってい
> <mailto:android-g...@googlegroups.com> にメールを送信してください。
> このグループから退会するには、android-group-
> japan+un...@googlegroups.com
> <mailto:android-group-japan%2Bunsu...@googlegroups.com> にメールを送信し
> てください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja か
> らこのグループにアクセスしてください。
>
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信
> してください。
> このグループから退会するには、android-group-j...@googlegroups.com
> にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこ
> のグループにアクセスしてください。
--
山本三七男 (Minao Yamamoto) ---------------- ハンドル:たろサ -----
E-Mail: taro...@gmail.com