1 #pragma once 2 3 #include <string> 4 #include <string_view> 5 #include <vector> 6 7 namespace blurhash { 8 struct Image 9 { 10 size_t width, height; 11 std::vector<unsigned char> image; // pixels rgb 12 }; 13 14 // Decode a blurhash to an image with size width*height 15 Image 16 decode(std::string_view blurhash, size_t width, size_t height, size_t bytesPerPixel = 3) noexcept; 17 18 // Encode an image of rgb pixels (without padding) with size width*height into a blurhash with x*y 19 // components 20 std::string 21 encode(unsigned char *image, size_t width, size_t height, int x, int y); 22 } 23