
Show HN: JavaScript image compressor - chenfengyuan
https://github.com/xkeshi/image-compressor
======
MaxLeiter
I was really hoping this would implement some complex algorithm or at least be
an interesting implementation, however, it seems to just divide the image
height/width by the aspect ratio:

[https://github.com/xkeshi/image-
compressor/blob/master/src/i...](https://github.com/xkeshi/image-
compressor/blob/master/src/index.js#L80-L87)

~~~
phoboslab
As I understand it, this library draws the image into a Canvas to then re-
compress the Canvas' via the Browser's native `toDataURL('image/jpeg',
quality);`. You can optionally specify a width/height to downscale the image.

Imho the readme needs to state what the library actually does. E.g.

"This takes a user image from a file input, optionally resizes it, and returns
a JPEG, PNG or WebP as a Blob, ready to upload."

------
ratsz
This is a simple resize using canvas.drawImage(). Since data is permanently
lost in the output file, it is misleading to call it compression.

~~~
btown
Lossy compression is still technically compression.

~~~
XaspR8d
I've optimally compressed your image for you:

<EOF>

(For very naive definitions of "optimal")

------
atonse
This could be a great (although not really real-world) addition to a JS
benchmark suite.

------
dsun176
Input (original)

name: Fuckscape_d80352_5915762.jpg

type: image/jpeg

size: 19.14 KB

Output (compressed)

name: Fuckscape_d80352_5915762.jpg

type: image/jpeg

size: 20.64 KB (-7.85% off)

So your image-compressor actually adds 7.85% to the filesize? Maybe I don't
understand the meaning of compression, but shouldn't it be smaller?

~~~
andreasklinger
you should share an image link plus your settings/script to make this useful
for OP

