From 08ddd44b634d4da78edd0964f539a310544c7883 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 3 Nov 2021 18:52:30 +0800 Subject: ! UI9Slicing --- Runtime/Scripting/Resource/Resource.bind.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'Runtime/Scripting/Resource/Resource.bind.cpp') diff --git a/Runtime/Scripting/Resource/Resource.bind.cpp b/Runtime/Scripting/Resource/Resource.bind.cpp index a09460e..a10ed69 100644 --- a/Runtime/Scripting/Resource/Resource.bind.cpp +++ b/Runtime/Scripting/Resource/Resource.bind.cpp @@ -32,8 +32,25 @@ int LoadImageData(lua_State* L) ImageData* data = new ImageData(state.GetVM()); int channels; data->pixels = stbi_load(path, &data->width, &data->height, &channels, 0); - data->format = EPixelFormat::PixelFormat_RGB; - data->type = EPixelElementType::PixelType_UNSIGNED_BYTE; + if (channels == 1) + { + data->format = EPixelFormat::PixelFormat_R; + data->type = EPixelElementType::PixelType_UNSIGNED_BYTE; + } + else if (channels == 3) + { + data->format = EPixelFormat::PixelFormat_RGB; + data->type = EPixelElementType::PixelType_UNSIGNED_BYTE; + } + else if(channels == 4) + { + data->format = EPixelFormat::PixelFormat_RGBA; + data->type = EPixelElementType::PixelType_UNSIGNED_BYTE; + } + else + { + Assert(false); // 暂时不支持其他格式 + } data->PushUserdata(state); return 1; -- cgit v1.1-26-g67d0