2013-05-22 9 views
0

내가 만든 채팅에 이미지를 추가 할 계획이 있지만 사용하기에 약간의 대역폭이 필요하다는 것과 내 환영을 과장하고 싶지 않다는 것이 문제이므로 this 파일 압축 형식이있는 것 같습니다. 합법적이고 안전한가요? 모든 일반적인 broswer에서 개발자 도구를 열면 로컬 압축 프로그램에서 얼마나 많은 바이트가 들어오고 나왔는지와 경과 시간을 알 수 있습니다.HTML/자바 스크립트 클라이언트 측 이미지 압축은 합리적인, 어리석은 계획처럼 보입니까?

각 이미지는 동일한 이미지를 사용할 때 컴퓨터마다 다르며 다른 형식보다 공간이 적기 때문에 Chrome을 사용할 수있는 경우 "image/webp" 형식을 사용합니다. GIF는 애니메이션을 풀고 PNG는 투명성을 잃습니다.

누락 된 항목이 있습니까? HTML5의 canvas.toDataURL() 압축과 LZW 압축을 결합하여 최대의 결과를 제공합니다. 그것은 크롬과 IE10에서 작동하며 다른 브라우저에서도 테스트 할 수 없었습니다. 내 목표는 모든 브라우저와 호환되도록 만드는 것이 아니라 편리한 압축 형식을 제공하는 것입니다.

+1

* 어떤 형태의 파일 압축입니까? 질문에 대답하기 위해 필요한 모든 것을 포함 시키십시오. – meagar

답변

3

그것은 "압축"은 "인코딩"이다가 아니라 HTML5의 canvas.toDataURL() 압축

결합 그것은 나쁜 생각입니다. 이미지를 base64로 인코딩 된 데이터 URI로 변환하면 아무 것도 압축하지 않고 이미지를 압축 해제합니다. 실제 256 비트 2 진 인코딩보다 base64에서 훨씬 적은 바이트를 사용할 수 있습니다. LZW 결과 텍스트를 압축하면 무시할 수있는 이점이 있습니다.

+0

base64 인코딩은 약 33 %의 오버 헤드를 추가합니다. 출처 : http://php.net/manual/en/function.base64-encode.php – Halcyon

+0

그런 다음 데이터 URI의 데이터를 바이너리 문자열로 변환 한 다음 LZW 압축을 사용한다면 행복할까요? – dylanweber

+1

아니요, * LZW 압축을 적용해서는 안됩니다. 형식 자체가 압축되어 브라우저가 대신 해줍니다. 압축 된 데이터를 압축하려고하는데 작동하지 않습니다. – meagar

1

다른 호스트에 이미지를 넣을 수 있습니다. 많은 무료 사진 호스팅 서비스가 있습니다.

대역폭은 안전하며 데이터 전송이 필요하지 않습니다. 그러나 그것은 당신이 논문 사진들로해야 할 일에 달려 있습니다 ...