2012-07-13 6 views
2

저는 캔버스 요소를 사용하여 Chrome에서 WebP 이미지 형식을 시험 중입니다. MDN에서 나는 toDataURL이 결과 이미지의 품질을 나타내는 두 번째 인수를 허용한다는 것을 알았습니다.toDataURL을 사용하여 무손실 WebP 이미지를 만드는 방법은 무엇입니까?

캔버스 요소의 무손실 WebP 이미지를 생성하고 싶습니다. 그러나 품질 (의미 100 %)에 대해 1을 전달하면 정확하게 동일한 픽셀을 얻지 못합니다. 그것은 마치 손실 된 이미지를 생성하는 것 같습니다.

여기에 테스트 케이스가 있습니다 : http://jsfiddle.net/Nf5ve/1/. PNG 이미지를 그릴 때 특정 픽셀의 특정 색상 값은 40입니다. 자체적으로 캔버스의 100 % 품질 WebP 이미지를 그린 후에도 동일한 값이 37로 변경되었습니다. 이는 나에게 무손실로 보이지 않습니다. 나는 100 %의 품질을 통과했지만.

toDataURL 무손실 WebP 이미지를 만들 수 있습니까? 그렇다면 어떻게해야합니까?

+0

다시 확인하기 위해 원본 PNG에 투명도가 있습니까? –

+0

@Jacob Foshee : 아니오, http://lorempixel.com의 임의 사진입니다. – pimvdb

답변

3

웹용 공식 MIME 유형이 없으므로 지금 당장 소금물로 찍으십시오. toDataURL에서 크롬의 "이미지/WebP 형식"을 사용

항상

는 겉으로는이 시간

에서 무손실 WebP 형식의 이미지를 볼 수있는 방법이없는 경우에도 품질 "1"에서, 지금 손실 WebP 형식의 이미지가 발생합니다
+0

내 무지를 못해서 유감 스럽지만 image/webp-lossless는'data : image/png'로 시작하는 데이터 URL을 제공합니다. 어떤 임의의 MIME 형식에서도 마찬가지입니다. 다시 생각해 보면 PNG가됩니다. 나는이 무손실이 아직 안정적이지 못하며 매우 빨리 풀어야한다고 말하면서 [이 메시지] (https://groups.google.com/a/webmproject.org/d/msg/webp-discuss/wCIn7ZZdzVk/XNq6ifpeucoJ)를 발견했다. 곧. 나는 언젠가는 기다려서 무슨 일이 일어날지를 짐작할 것이다. – pimvdb

+0

[이 Chromium 소스를 잘못 이해하지 않았다면] (http://code.google.com/searchframe#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/platform/graphics/skia/ImageBufferSkia. cpp & exact_package = chromium & type = cs & l = 332) 내 이론을 확인합니다. 무손실 WebP와 관련하여 흥미로운 것을 발견하면 업데이트하겠습니다. 당신의 도움을 주셔서 감사합니다! – pimvdb

+0

젠장 네가 맞아, 나는 더 부지런해야 했어! 나는 지금 당신이 운이 없다고 생각한다. 아직 비 웹 사이트에 관한 공식적인 MIME은 없습니다. –