質問: AndroidStudioにてアプリを作っている者です。 カメラアプリを使って撮影後に任意の文字を入力するアプリを制作しています。 そこでカメラアプリのサンプルコードを調べていたところ撮影データをBitmapに変換しているコードがたくさんありました。 画像サイズがとても小さくなってしまうデメリットがあると思うのですが なぜ撮影データをBitmapに変換する必要があるのでしょうか。 また、私が制作しているアプリのように撮影後にそのデータを加工する(私の場合画像に任意の文字を入力する)場合Bitmapに変換しないと加工ができないのでしょうか。 教えていただけたら幸いです。 よろしくお願い致します。
回答: > > 撮影データをBitmapに変換している > > 画像サイズがとても小さくなってしまう > > > 質問の意味が、**rawdata**に対して**bitma**pが小さいというのであれば カメラ撮影の仕組みに由来すると思います ベイヤー配列(GBRG)の場合rawdataの4画素で1ピクセルに相当しますから 単純に1/4です。 もちろん補完拡大できないこともないでしょうけれど ちなみにその1ピクセルを圧縮無しで(a)RGBデータで画像にしたのがbitmap カメラのCMOSセンサー画素をそのまま取り出す ->rawdata 画像処理 * 3板化 * ホワイトバランス * γ補正 * 等々多種類の処理 プレビューでこれらをやるためには GPUなどを使う必要がある重い処理 スケーリングしないでそのままであれば ベイヤー配列の場合rawdataの4画素で1ピクセルに相当 -> Bitpmap メモリーに保存 LCDに表示させる LCDに表示させない場合はjpg等にしてメモリに保管 > > 撮影後にそのデータを加工する > > > 撮影後のデータがrawdataの場合、画像処理がなされていないので 使いものになりません そういう意味で画像処理されたbitmapを使う方がいいでしょう