EyalAr / lwip

Light Weight Image Processor for NodeJS
MIT License
2.36k stars 230 forks source link

Blur broke an image. #232

Open dangreen opened 8 years ago

dangreen commented 8 years ago
lwip.open("./jpeg.jpg", (err, image) => { image.batch().blur(1).writeFile("output.jpg", (err) => { console.log("done") }) })

EyalAr commented 8 years ago

Can you please upload the original image?

dangreen commented 8 years ago

image Other images also break: image image

dangreen commented 8 years ago

And I don't sure what it help to you, but:

> lwip@0.0.8 install /Users/dangreen/github/leadbean/node_modules/lwip
> node-gyp rebuild

  CXX(target) Release/obj.target/lwip_decoder/src/decoder/init.o
  CXX(target) Release/obj.target/lwip_decoder/src/decoder/util.o
  CXX(target) Release/obj.target/lwip_decoder/src/decoder/buffer_worker.o
../src/decoder/buffer_worker.cpp:8:56: warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]
    _height(0), _channels(0), _trans(false), _metadata("") {
                                                       ^
1 warning generated.
  CXX(target) Release/obj.target/lwip_decoder/src/decoder/jpeg_decoder.o
  CXX(target) Release/obj.target/lwip_decoder/src/decoder/png_decoder.o
  CXX(target) Release/obj.target/lwip_decoder/src/decoder/gif_decoder.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jmemnobs.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jcomapi.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdapimin.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdapistd.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdatadst.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdatasrc.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdcoefct.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdcolor.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jddctmgr.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdhuff.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdinput.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdmainct.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdmarker.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdmaster.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdpostct.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdsample.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jerror.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jfdctflt.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jfdctfst.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jfdctint.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jidctflt.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jidctfst.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jidctint.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jutils.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jmemmgr.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdarith.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jdmerge.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jaricom.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jquant1.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/jpeg/jquant2.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/png.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngset.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngget.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngrutil.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngtrans.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngread.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngwrite.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngrio.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngrtran.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngmem.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngerror.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/png/pngpread.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/adler32.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/crc32.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/gzlib.o
../src/lib/zlib/gzlib.c:256:24: warning: implicit declaration of function 'lseek' is invalid in C99 [-Wimplicit-function-declaration]
        state->start = LSEEK(state->fd, 0, SEEK_CUR);
                       ^
../src/lib/zlib/gzlib.c:14:17: note: expanded from macro 'LSEEK'
#  define LSEEK lseek
                ^
1 warning generated.
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/gzread.o
../src/lib/zlib/gzread.c:30:15: warning: implicit declaration of function 'read' is invalid in C99 [-Wimplicit-function-declaration]
        ret = read(state->fd, buf + *have, len - *have);
              ^
../src/lib/zlib/gzread.c:591:11: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    ret = close(state->fd);
          ^
2 warnings generated.
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/infback.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/inflate.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/inftrees.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/inffast.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/uncompr.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/zutil.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/zlib/trees.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/gif/dgif_lib.o
../src/lib/gif/dgif_lib.c:379:23: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
        for (i = 0; i < GifFile->Image.ColorMap->ColorCount; i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/lwip_decoder/src/lib/gif/gif_err.o
  CC(target) Release/obj.target/lwip_decoder/src/lib/gif/gifalloc.o
  SOLINK_MODULE(target) Release/lwip_decoder.node
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/init.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/util.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/buffer_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/jpeg_decoder.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/png_decoder.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_decoder/src/decoder/gif_decoder.o) was built for newer OSX version (10.7) than being linked (10.5)
  CXX(target) Release/obj.target/lwip_encoder/src/encoder/init.o
  CXX(target) Release/obj.target/lwip_encoder/src/encoder/jpeg_worker.o
  CXX(target) Release/obj.target/lwip_encoder/src/encoder/png_worker.o
../src/encoder/png_worker.cpp:105:24: warning: ISO C++11 does not allow conversion from string literal to 'png_charp' (aka 'char *') [-Wwritable-strings]
        metadata.key = "lwip_data";
                       ^
1 warning generated.
  CXX(target) Release/obj.target/lwip_encoder/src/encoder/gif_worker.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jdatadst.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jmemnobs.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcomapi.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jerror.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jfdctflt.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jfdctfst.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jfdctint.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jidctflt.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jidctfst.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jidctint.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jutils.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jmemmgr.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jaricom.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jquant1.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jquant2.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcapimin.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcapistd.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jccoefct.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jccolor.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcdctmgr.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jchuff.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcinit.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcmainct.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcmarker.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcmaster.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcparam.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcprepct.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcsample.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/jpeg/jcarith.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/png.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngset.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngget.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngtrans.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngmem.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngerror.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngread.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngwrite.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngwutil.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngwio.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/png/pngwtran.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/adler32.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/crc32.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/gzlib.o
../src/lib/zlib/gzlib.c:256:24: warning: implicit declaration of function 'lseek' is invalid in C99 [-Wimplicit-function-declaration]
        state->start = LSEEK(state->fd, 0, SEEK_CUR);
                       ^
../src/lib/zlib/gzlib.c:14:17: note: expanded from macro 'LSEEK'
#  define LSEEK lseek
                ^
1 warning generated.
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/zutil.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/gzwrite.o
../src/lib/zlib/gzwrite.c:84:15: warning: implicit declaration of function 'write' is invalid in C99 [-Wimplicit-function-declaration]
        got = write(state->fd, strm->next_in, strm->avail_in);
              ^
../src/lib/zlib/gzwrite.c:573:9: warning: implicit declaration of function 'close' is invalid in C99 [-Wimplicit-function-declaration]
    if (close(state->fd) == -1)
        ^
2 warnings generated.
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/compress.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/deflate.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/zlib/trees.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/gif/egif_lib.o
../src/lib/gif/egif_lib.c:285:38: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
              strlen(write_version)) != strlen(write_version)) {
              ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~
../src/lib/gif/egif_lib.c:735:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
               != (unsigned)(CodeBlock[0] + 1)) {
               ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib/gif/egif_lib.c:1019:56: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
            && InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~
../src/lib/gif/egif_lib.c:1032:57: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
            if (InternalWrite(GifFile, Buf, Buf[0] + 1) != (unsigned)(Buf[0] + 1)) {
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
  CC(target) Release/obj.target/lwip_encoder/src/lib/gif/gif_err.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/gif/gifalloc.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/gif/gif_hash.o
  CC(target) Release/obj.target/lwip_encoder/src/lib/gif/quantize.o
../src/lib/gif/quantize.c:132:25: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
    if (NewColorMapSize < *ColorMapSize) {
        ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
../src/lib/gif/quantize.c:141:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
    for (i = 0; i < NewColorMapSize; i++) {
                ~ ^ ~~~~~~~~~~~~~~~
2 warnings generated.
  SOLINK_MODULE(target) Release/lwip_encoder.node
ld: warning: object file (Release/obj.target/lwip_encoder/src/encoder/init.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_encoder/src/encoder/jpeg_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_encoder/src/encoder/png_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_encoder/src/encoder/gif_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
  CXX(target) Release/obj.target/lwip_image/src/image/init.o
  CXX(target) Release/obj.target/lwip_image/src/image/image.o
  CXX(target) Release/obj.target/lwip_image/src/image/resize_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/rotate_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/blur_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/crop_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/mirror_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/pad_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/sharpen_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/hsla_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/opacify_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/paste_worker.o
  CXX(target) Release/obj.target/lwip_image/src/image/setpixel_worker.o
  SOLINK_MODULE(target) Release/lwip_image.node
ld: warning: object file (Release/obj.target/lwip_image/src/image/image.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/resize_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/rotate_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/blur_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/crop_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/mirror_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/pad_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/sharpen_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/hsla_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/opacify_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/paste_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/setpixel_worker.o) was built for newer OSX version (10.7) than being linked (10.5)
ld: warning: object file (Release/obj.target/lwip_image/src/image/init.o) was built for newer OSX version (10.7) than being linked (10.5)
davidlondono commented 8 years ago

my images go black on blur, they dont make blur

Rayjax commented 8 years ago

Same exact issue with same results. OSX Yosemite

Pajk commented 8 years ago

@dangreen We had the same issue, I fixed it and released the fork on npm - https://www.npmjs.com/package/pajk-lwip, so you can use that until @EyalAr merges https://github.com/EyalAr/lwip/pull/209.

dangreen commented 8 years ago

@Pajk Thank you!

jimlambie commented 7 years ago

@EyalAr just wondering if you're in a position to review PR #209 from @Pajk as I'd sure rather use the NPM version of this module than a GH fork. Thanks!