From 1b773ad2c250e09c09c065eb3eec64bfebde09ca Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 18 May 2018 14:39:38 +0800 Subject: =?UTF-8?q?=E4=BF=AE=E6=94=B9userdata=E5=88=9B=E5=BB=BA=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/render/image.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/libjin/render/image.cpp') 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); -- cgit v1.1-26-g67d0