私はカスタムビュー(WorldMapView)、地図描画可能(3209x1287、PNG、64ビットカラー、1.33M)を持っていると私はPNG形式を使用してビットマップを圧縮するにはどうすればよいですか?
java.lang.RuntimeException取得しています:キャンバス:大きすぎるを描画しようとします(148679388bytes)ビットマップ。
このように圧縮しようとしました。
WorldMapView worldMapView = (WorldMapView) itemView.findViewById(R.id.map_of_world);
Bitmap bitmap = ((BitmapDrawable) ContextCompat.getDrawable(context, R.drawable.map)).getBitmap();
ByteArrayOutputStream out = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
Bitmap decoded = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));
worldMapView.setImageBitmap(decoded);
しかし、あなたはPNGは、ロスレス形式であるため、それはあなたのイメージを圧縮しないであろうPNG形式を使用しているので、誰もが解決策を提案してくださいすることができますか?
ありがとうございました。
'PNG形式を使用している場合、PNGはロスレス形式なのでイメージは圧縮されません。 –