2014-10-11 6 views
0

맞춤형 인앱 카메라로 사진을 찍으려면 cwac-camera 라이브러리를 사용하고 있습니다.CWAC 카메라 - ImageCleanupTask를 사용자 정의하는 가장 좋은 방법은 무엇입니까?

SimpleCameraHost에서 adjustPreviewParameters를 무시하고 JPEG 품질을 설정하고 있습니다.

@Override 
public Parameters adjustPreviewParameters(Parameters parameters) { 
    super.adjustPreviewParameters(parameters); 
    parameters.setJpegQuality(80); 
    return (parameters); 
} 

불행히도, this question 따라 상기 setJpegQuality 방법은 일부 장치 (예를 들어, S3)에서 작동하지 않는다.

나는 cwac-camera ImageCleanupTask always saves the manipulated image at 100% JPEG quality을 볼 수 있습니다.

ImageCleanupTask를 사용자 정의하는 가장 좋은 방법은 무엇입니까?

PictureTransaction에 setJpegQuality 메소드를 표시해야합니까? 또는 ImageCleanupTask를 주입하는 것과 같이 좀 더 다양한 솔루션을 원하십니까?

답변

1

나는 cwac 카메라 ImageCleanupTask가 항상 조작 된 이미지를 100 % JPEG 품질로 저장한다는 것을 알 수 있습니다.

이상적으로는 구성 가능합니다. 도서관이 이상적으로 할 수있는 많은 것들이 있습니다. :-)

ImageCleanupTask를 사용자 정의하는 가장 좋은 방법은 무엇입니까?

"JPEG 비율을 어떻게 얻을 수 있습니까?"라는 뜻인 경우 PictureTransaction을 추가하십시오.

PictureTransaction에서 setJpegQuality 메소드를 공개해야합니까?

PictureTransaction은 빌더/유창한 API 패턴을 사용하기 때문에 jpegQuality()을 사용합니다.

이 변경으로 기존 코드에서 parameters.setJpegQuality(80);을 제거 할 수 있습니다. 그렇지 않으면 이미지가 두 번, 즉 캡처 할 때 (이미지를 지원하는 장치의 경우) 한 번 이미지가 디스크에 쓰여질 때까지 두 번 품질이 저하됩니다.

+0

도움 주셔서 감사합니다. 내 포크에서 이것을 지원하기 위해 만든 코드 변경 사항은 다음과 같습니다. https://github.com/cookbrite/cwac-camera/commit/65a0a2082194dfc8069f605f0191c43357bb0852 Repo에 문제를 추가하려면 알려주십시오. 내가 jpegQuality 필드를 너무 많이 망치려고해도 너무 많이 요청할 수는 있어도 요청을 보낼 수 있습니다. :-) –

+0

@ DanJ : 나는 앞으로 나아가 자신에 대한 [개선 요청] (https://github.com/commonsguy/cwac-camera/issues/228)을 제출했다. 귀하의 구현은 팔목에서 잘 보인다. 감사! – CommonsWare