「Asimoc」という可逆モザイクアプリです。 厳密に言えばモザイクでは無いんですが、パスワードをかけてモザイクをかけれる。と、いうソフトで。
特段難しいことはしてないんですが、「そろそろリリースできそう!」って時に起きた現象が
「Xperiaだと、BitmapをARGB_8888のフォーマット指定してcopyしても、下位ビットの色情報を欠損してくれる」
です。
いや、いろいろ調べていったら、Xperiaが悪いんじゃなくて、AndroidOS2.1ぐらいからのバグ? だか、仕様?だか。
今までは、BMPにピクセル単位で読み込んだり、書き込んだりするために、一回コピーをして、編集可能BMPを取得していたわけです。
Bitmap tempBmp = bitmap.copy(Config.ARGB_8888, true);
これで、OS1.6までは行けたんだけど、なんかOS2.1からこれだとダメで。
しょうがないので
Bitmap tempBmp = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),Config.ARGB_8888); Canvas canvas = new Canvas(tempBmp); canvas.drawBitmap(bitmap,0,0,null);
と、言う感じに、先に空でBitmapを作って、そこに描画。 と。
なんでこんな事をしなきゃいけなくなったのか・・・。
ううむーん。
0 件のコメント:
コメントを投稿