7

카메라 갤러리에서 이미지를 가져 오는 데 Cordova 2.6 Camera Plugin을 사용하고 있습니다. Base64 인코딩으로 이미지를 가져 오는 중 "quality"옵션을 사용하여 더 낮은 화질로 압축하려고했습니다. 카메라 플러그인에 대한 다운로드 갤러리 사진

나는 압축이 작동하지 않는 것으로 나타났습니다 내가 https://github.com/apache/cordova-plugin-camera/blob/master/doc/index.md에서 코르도바 문서를 읽을 때, 나는 읽을 수

참고 : 새로운 장치에서 사진의 해상도가 매우 좋다. 장치 갤러리에서 사진을 선택하면 품질 매개 변수가 지정되면, 심지어 으로 낮아지지 않습니다. 일반적인 메모리 문제를 피하려면 은 DATA_URL 대신 Camera.destinationType을 FILE_URI로 설정하십시오.

타사 웹 서비스로 업로드하는 이미지에 base64 암호화를 사용하고 있기 때문에 제 경우에는 DATA_URL 만 사용할 수 있습니다. 또한 장치 갤러리 (카메라 자체가 아닌)의 이미지 만 사용하고 있습니다. 주로 Windows Phone에서 성능 문제가 발생합니다. 내 응용 프로그램은 이미지 크기로 인해 base64 데이터를 처리하는 데 너무 많은 시간이 걸립니다 (장치 갤러리에 저장된 큰 이미지로 테스트 중이지만 5MP 또는 8MP 전화 카메라를 사용하여 캡처 한 이미지).

제 질문은 Cordova 플러그인의 갤러리 사진에서 작동하는 "품질"옵션을 얻는 해결책입니까?

기기 갤러리 사진을 압축 할 수있는 맞춤 플러그인 또는 포크가 있습니까?

다른 대안이 있습니까? .getPicture를 호출 할 때

답변

0

(압축 된 이미지 base64로 암호화를 반환 FILE_URI을 사용하고, 예를 들어 사용자 정의 기본 플러그인) 우리는 다음과 같은 옵션을 사용하는 것은 :

quality: 50, 
destinationType: Camera.DestinationType.DATA_URL, 
encodingType: Camera.EncodingType.JPEG, 
sourceType: Camera.PictureSourceType.CAMERA, 
targetWidth: 800, 
correctOrientation: true 

품질 매개 변수는 너무 많은 의미를 가지고하지 않는 것 그래도 파일 크기에. targetWidth 및 일부 이상한 이유로 correctOrientation 않습니다. 이러한 설정을 사용한 결과 이미지 크기는 장치의 카메라 해상도에 따라 약 24kB입니다.