diff options
author | chai <chaifix@163.com> | 2018-05-18 14:39:38 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-05-18 14:39:38 +0800 |
commit | 1b773ad2c250e09c09c065eb3eec64bfebde09ca (patch) | |
tree | b3f1f367694d5f86cc0caa7f4eea2e6a1d3424c5 /src/libjin/render/image.cpp | |
parent | 91a592da979827b1735901388dba8712e6e3ecf3 (diff) |
修改userdata创建方式
Diffstat (limited to 'src/libjin/render/image.cpp')
-rw-r--r-- | src/libjin/render/image.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/libjin/render/image.cpp b/src/libjin/render/image.cpp index b27b9a6..5de997a 100644 --- a/src/libjin/render/image.cpp +++ b/src/libjin/render/image.cpp @@ -1,23 +1,27 @@ #include "image.h" #include "3rdparty/stb/stb_image.h" #include "../utils/utils.h" + namespace jin { namespace render { - Image::Image(): Drawable(), pixels(0) + + Image::Image(const char* file) + : Drawable(), pixels(0) { + loadf(file); } - Image::~Image() + Image::Image(const char* buffer, size_t size) + : Drawable(), pixels(0) { - stbi_image_free(pixels); + loadb(buffer, size); } - void Image::init() + Image::~Image() { - Drawable::init(); - pixels = 0; + stbi_image_free(pixels); } color Image::getPixel(int x, int y) @@ -61,7 +65,7 @@ namespace render return true; } - bool Image::loadb(const char* b, int size) + bool Image::loadb(const char* b, size_t size) { // ʹstbi_load_from_memory unsigned char* imageData = stbi_load_from_memory((unsigned char *)b, size, &width, &height, NULL, STBI_rgb_alpha); |