diff options
| author | chai <chaifix@163.com> | 2019-03-19 23:06:27 +0800 |
|---|---|---|
| committer | chai <chaifix@163.com> | 2019-03-19 23:06:27 +0800 |
| commit | 1497dccd63a84b7ee2b229b1ad9c5c02718f2a78 (patch) | |
| tree | f8d1bff50da13e126d08c7345653e002e293202d /source/libs/asura-lib-core/graphics/image_data.cpp | |
| parent | 5e2a973516e0729b225da9de0b03015dc5854ac4 (diff) | |
*rename
Diffstat (limited to 'source/libs/asura-lib-core/graphics/image_data.cpp')
| -rw-r--r-- | source/libs/asura-lib-core/graphics/image_data.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/source/libs/asura-lib-core/graphics/image_data.cpp b/source/libs/asura-lib-core/graphics/image_data.cpp new file mode 100644 index 0000000..821bfd6 --- /dev/null +++ b/source/libs/asura-lib-core/graphics/image_data.cpp @@ -0,0 +1,50 @@ +#include "image_data.h" +#include "png_decoder.h" +#include "stb_decoder.h" + +namespace AsuraEngine +{ + namespace Graphics + { + + using namespace std; + + // imagedecoderΪԡ + list<ImageDecoder*> ImageData::ImageDecoders = { + new PNGDecoder(), // png + new STBDecoder() // jpeg, tga, bmp + }; + + ImageData::ImageData(const Filesystem::DataBuffer& buffer) + : DecodedData(buffer) + { + } + + ImageData::~ImageData() + { + if (pixels) + delete[] pixels; + } + + /// + /// ɹ׳쳣 + /// + void ImageData::Decode(const Filesystem::DataBuffer& buffer) + { + for (ImageDecoder* decoder : ImageDecoders) + { + if (decoder->CanDecode(buffer)) + { + decoder->Decode(buffer, this); + return; + } + } + } + + Color ImageData::GetPixel(uint x, uint y) + { + + } + + } +}
\ No newline at end of file |
