<< Android-Note
BitmapのPNGやJPEG形式での保存
Android端末で扱える画像形式には次の3つがあります。
- PNG
- JPEG
- WEBP
WEBPというのはGoogleが独自に開発している画像形式のことです。
これら3つの形式の中から1つを選んで画像を保存することができます。
例えばBitmapクラスをint型配列から作成し、それをPNG形式としてファイルに保存するには次のようなコードを書きます。
int width = 100, height = 50; int[] pixels = new int[width * height]; for(int hi = 0; hi < height; ++hi){ for(int wi = 0; wi < width; ++wi){ pixels[hi * width + width] = 255 << 24 | 255 << 16 | 255 << 8 | 255; //全てのピクセルを白で初期化 } } Bitmap bitmap = Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888); //保存するBitmap画像 if(bitmap != null){ try{ FileOutputStream fileStream = new FileOutputStream(imageFile); saveBitmap.compress(Bitmap.CompressFormat.PNG, 100, fileStream); //画像をPNG形式として保存 } catch (FileNotFoundException e) { e.printStackTrace(); } }
この例のようにいったんint配列などからBitmapインスタンスを作り、その後Bitmapクラスのcompressメソッドを使って画像形式とストリームを渡して画像を保存します。
利用できる画像形式の名前はBitmap.CompressFormatに一覧が載っています。
© Kaz