WebP + Alpha Channel via PNG
JPEG: 35KB. WebP: 13KB. Alpha Mask: 7KB. PNG: 12KB.
WebP + Alpha: 20KB
JPEG + Alpha: 42KB
PNG-24: 127KB
Demo Code
How does it work?
http://blog.jackadam.net/2010/alpha-jpegs/
http://antimatter15.github.com/weppy/demo.html
Issues
- Firefox has a nasty weird thing that is nasty and weird. For some reason, the logical method doesn't work. Someone please fix this!
- For some reason, xor'ing it the first time results in all black on firefox
- Firefox seems to require the image thingy to happen by a timeout, not triggered by the loading of the image (wtf?!)
- Chrome (on linux anyway) tends to crash a lot.
- Firefox throws a security exception when doing toDataURL() on a canvas after drawImage() of a video loaded from a data url. The hack being used it to replace the image node with the actual canvas instance.
- Opera doesn't work. I don't really have the time to investigate.
What Browsers?
Chrome 7.0 and Firefox 4.0 were both tested. Opera doesn't work for reasons that I'm not sure about. I would appreciate it if someone fixes it and submits a patch :)
Me
I'm @antimatter15 (please help me get my followed/following ratio over 1.0!). I know practically nothing about video, VP8, Matroska, EBML, WebP, WebM, codecs, binary, compression though all of them fascinate me, and I loved "A Digital Media Primer for Geeks". At time of writing I'm fifteen, though I don't find that much of an accomplishment. My site is at antimatter15.com and hopefully you'll find some other cool stuff there too.