2010-12-15 5 views
6

내 sdcard에 저장된 이미지의 크기를 조정하려고 할 때 원래 색상이 변경된 곳을 발견했습니다. BitmapFactory.decodeFile이 이에 책임이 있음을 알 수 있습니다. alt textalt textalt textAndroid는 색상을 존중하지 않습니다!

는 당신이 볼 수 있고, 아이의 피부 :

private void testImage() throws Exception{ 
    BitmapFactory.Options o = new BitmapFactory.Options(); 
    o.inDither = false; 
    o.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    o.inScaled = false; 
    Bitmap b = BitmapFactory.decodeFile("/sdcard/test/original.jpg", o); 
    b.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream("/sdcard/test/result.jpg")); 
    b.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream("/sdcard/test/result.png")); 
} 

결과 이미지 (original.jpg, result.jpg, result.png) : 다음은 데모 코드는 2 개의 결과 이미지에서 약간 녹색입니다. 이 문제를 해결하는 데 도움이되는 팁이 있습니까?

+0

FWIW, 세 이미지는 저와 동일하게 보입니다. – CommonsWare

+0

난 너의 PNG 차이가 실제로 보이지 않는다 – schwiz

+0

FWIW, 나는 두번째의 차이점을 처음으로 비교했다. :) –

답변

1

원래 색상이 녹색이 ​​아닌 것을 어떻게 알 수 있습니까?

카메라의 색상 프로파일을 올바르게 적용했기 때문에 카메라/PC가 사진을 올바르게 표시했을 수 있습니다. 귀하의 코드는 분명히하지 않았습니다.

문제가있을 수 있습니까? 카메라/PC 이외의 다른 장치에서 사진을 확인하십시오.

+0

내가 보여주고 자하는 차이점은 "original.jpg"와 "result. *"사이입니다. 나란히 보이지는 않지만 이미지 뷰어로 이미지를 전환하려고하면 분명 해집니다. –

관련 문제