그래서 내 모바일 응용 프로그램에서 내 자신의 생성 된 원격 서비스로 이미지를 보내고 있습니다. 기본적으로 내 휴대 전화는 그림이 약 5MB로 엄청나게 큰 이미지를 찍습니다. 그런 다음 base64로 인코딩하여 서비스에 전송하면 영원히 걸립니다. 이것이 얼마나 큰지를 탐지 할 수있는 방법이있을 수 있으며 더 작은 버전을 보낼 수 있습니다. 텍스트의 그림을 찍을 때와 같이 "그림이 너무 큽니다. 압축 중 ..."그림을 찍고 200KB가 넘으면 압축해야합니다.Intel XDK 모바일 응용 프로그램을 더 작은 이미지로 압축
0
A
답변
0
"압축합니다"라고 말하면 압축 알고리즘을 변경하는 대신 다운 샘플링 (픽셀 수를 줄이는)이라고 가정합니다.
:, 당신은 그것의 크기, 즉를 확인 할 수 있어야한다 그것은 당신의 코드를 보지 않고 말할 어렵습니다,하지만 당신은 64 기수로 변환 할 때 난 당신이 어떤 객체 (말하는 dataURL)를 가지고 가정 여기에 설명 된대로
var x = <file converted to dataURL>
if (x.length > MAX) {
<downsample image>
}
를 다운 샘플링하려면, 작은 해상도 캔버스 요소에 쓸 수 - Drawing an image from a data URL to a canvas을 :
이var myCanvas = document.getElementById('my_canvas_id');
var ctx = myCanvas.getContext('2d');
var img = new Image;
myCanvas.width=400;
myCanvas.height=600;
img.onload = function(){
ctx.drawImage(img,0,0,400,600); // Or at whatever offset you like
};
img.src = strDataURI;
다음 dataURL에 결과 캔버스를 변환 :
var d = myCanvas.toDataURL();
물론 캔버스의 종횡비가 왜곡되지 않도록 이미지의 종횡비와 일치하는지 확인해야합니다.
관련 문제
- 1. SQLite로 Intel XDK 빌드
- 2. intel xdk 증강 현실
- 3. woff2 및 Intel XDK
- 4. Intel XDK listview sort
- 5. Intel XDK 계층 테이블
- 6. INTEL XDK FILETRANSFER ERROR
- 7. Intel XDK : Parse.com integration "Unauthorized"
- 8. db.trasaction은 콜백을 기다리지 않습니다. Intel Xdk
- 9. Intel XDK Google API JQuery
- 10. 여러 UI 프레임 워크가 감지되었습니다 - Intel XDK
- 11. 부트 스트랩 그리드가 작동하지 않음 Intel XDK
- 12. 광대역 연결로 Intel XDK 시작
- 13. Intel XDK iphone 빌드 실패
- 14. 반응 형 캔버스 Intel XDK
- 15. intel xdk, appmobi 및 crosswalk의 차이점은 무엇입니까?
- 16. intel XDK 사용 권한을 manany로 정의하는 방법
- 17. Intel XDK Alert API가 작동하지 않습니다.
- 18. 인텔 xdk 안드로이드 모바일 응용 프로그램을 클릭하면 다시 종료해야합니다. 응용 프로그램을 종료해야합니다.
- 19. intel-xdk : 연락처 목록을 가져올 수 없습니다.
- 20. intel xdk - 클라우드에 프로젝트를 저장하는 방법은 무엇입니까?
- 21. intel xdk javascript가 서브 페이지에서 작동하지 않습니다.
- 22. intel xdk cordova 로컬 플러그인이 작동하지 않습니다.
- 23. Intel XDK/Cordova 장치의 뒤로 버튼은 빌드 후 항상 응용 프로그램을 닫습니다.
- 24. rmote 데이터베이스에 대한 인텔 xdk 모바일 응용 프로그램
- 25. PIL을 사용하여 더 작은 이미지로 새 이미지 만들기
- 26. 수직 형 탐색 표시 줄을 AppMobi (jQMobi - Intel XDK)
- 27. Intel XDK watchAcceleration 메서드와 같은 이름의 Cordova 메서드의 차이점은 무엇입니까?
- 28. 모바일 6 또는 모바일 5 용 모바일 응용 프로그램을 만들어야합니까?
- 29. intel xdk android plugin을위한 특별한 목록을 만드는 방법
- 30. node.js가 포함 된 Intel Edison IoT Edition 및 XDK IDE