Module: DECODER
- Included in:
- BlurhashRuby
- Defined in:
- ext/blurhash_decoder/blurhash_decoder.c
Instance Method Summary collapse
-
#decode(path, blurhash, heigh, widt, punc) ⇒ Object
Ruby Module.
Instance Method Details
#decode(path, blurhash, heigh, widt, punc) ⇒ Object
Ruby Module
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'ext/blurhash_decoder/blurhash_decoder.c', line 9 VALUE method_decode(VALUE self, VALUE path, VALUE blurhash, VALUE heigh, VALUE widt, VALUE punc) { const char * hash = StringValuePtr(blurhash); int height = NUM2INT(heigh); int width = NUM2INT(widt); int punch = NUM2INT(punc); const char * output_file = StringValuePtr(path); const int nChannels = 4; uint8_t * bytes = decode(hash, width, height, punch, nChannels); if (!bytes) { fprintf(stderr, "%s is not a valid blurhash, decoding failed.\n", hash); return 1; } if (stbi_write_png(output_file, width, height, nChannels, bytes, nChannels * width) == 0) { fprintf(stderr, "Failed to write PNG file %s\n", output_file); return 1; } freePixelArray(bytes); fprintf(stdout, "Decoded blurhash successfully, wrote PNG file %s\n", output_file); return 0; } |