Tôi muốn tìm hiểu kích thước của một hình ảnh được tổ chức tại một mảng byte trong KBLàm thế nào để có được kích thước của một hình ảnh được tổ chức tại một mảng byte trong KB
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.mPicture);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
Các bản ghi sau đây hiển thị hai kết quả khác nhau cho một hình ảnh mà là 11.7KB:
Log.d(TAG, "bm size: " + bm.getByteCount()/1024); // 942
Log.d(TAG, "baos size: " + baos.size()/1024); // 81
Log.d(TAG, "byte size: " + b.length/1024); // 81
đó là kết quả chính xác hoặc làm thế nào để tôi nhận được kết quả đúng ?? Bất kỳ trợ giúp được đánh giá cao.
cách bạn giải thích kích thước khác với kích thước hình ảnh thực tế. của nó được cho là 11.7KB nhưng nó trở về một cái gì đó khác nhau như bạn có thể thấy ... –
11.7KB là kích thước của tập tin nén bạn đã mở. Một khi nó được nạp như là một Bitmap, kích thước của nó là không nén, do đó, kích thước của nó là tỷ lệ thuận với chiều rộng * chiều cao. Sau đó, bạn đang nén thành JPEG với hệ số nén là 100, kết quả là 81. Điều này khác với bản gốc có lẽ vì bản gốc được nén với độ nén 60-80 thay vì 100. – GuillermoMP