twolfson/grunt-spritesmith

[4.2.0] Fatal error: Unsupported bit depth: 16

Closed this issue · 3 comments

This is a weird issue, and after searching issues/pr's and getting no results, I'm stumped.

My png images are, in fact, 16 bit. But I don't understand why that wouldn't be supported. I must be missing something.

Grunt Config

sprite: {
    all: {
        src: '<%= yeoman.app %>/images/sprites/*.png',
        dest: '<%= yeoman.app %>/images/sprites/css/spritesheet.png',
        destCss: '<%= yeoman.app %>/images/sprites/css/sprites.css',
        cssOpts: {
            'cssClass': function (item) {
                return '.sprite-' + item.name;
            }
        }
    }
}

After further evaluation, we found that there was a 64x64 png that caused the issue. It was a holdover icon from a previous version of the system so we just removed it and all is now well. Does anyone mind explaining the occurrence?

The default spritesmith engine is JS based and lacks the complete functionality of other parsing engines. At this point, it does not currently support 16 bit depth PNGs:

darkskyapp/pngparse#6

There are other issues related to the parser not being fully supportive, #80 and #109. However, you are the first one to report 16 bit PNG issues.

For anyone else who has this issue and cannot remove the image, please see the advice from #109:

#109 (comment)