안녕하세요.
bmp파일을 변환하려고 하는데, RGB565가 bmp16bit와 동일한 것이 맞나요??..
맞다면 24bit를 16bit로 변환하려고 합니다.
갤러리에서 불러온 bmp이미지를 다음 코드로 처리했습니다.
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inSampleSize = 1;
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = null;
if ((bitmap = BitmapFactory.decodeFile(imgPath, options)) == null)
{
// 이미지 디코딩 실패
}
else
{
Log.e("16비트 변환성공","변환완료");
imageView.setImageBitmap(bitmap); //배치해놓은 ImageView에 set
SaveBitmapToFileCache(bitmap,imgPath);
}
불러온 24bit이미지(bitmap변수)를 변환시켰는데..이게 변환된건지 안된건지 티가 안나서 모르겠습니다.
버튼을 연타하면 해당 이미지가 점점 깨지기도하고..
pc로 변환된 이미지를 열려고 하면 파일이 손상되었다고 합니다..-_-;;
+
위 방법말고..다른 예제를 찾아보니 decode로 bitmap파일을 읽어올 때 자동으로 rgb565로 불러온다는데요,
Bitmap src = BitmapFactory.decodeFile("비트맵이미지 파일경로");
이런식으로 불러온 후.
File fileCacheItem = new File(strFilePath);
OutputStream out = null;
try
{
fileCacheItem.createNewFile();
out = new FileOutputStream(fileCacheItem);
bitmap.compress(CompressFormat.JPEG, 100, out);
}
로 저장했는데, 단 1회만 convert해도 저장된 파일을 열람하면 손상되었다고 나옵니다...
저장방식이 잘못된걸까요..?