33 lines
744 B
C++
33 lines
744 B
C++
|
|
#ifndef SPECTRE_GRAPHICS_IMAGE_LOADER_H
|
|
#define SPECTRE_GRAPHICS_IMAGE_LOADER_H
|
|
|
|
#include <Spectre/Graphics/Image.h>
|
|
#include <Spectre/Math/Vector2.h>
|
|
#include <vector>
|
|
|
|
class ImageLoader
|
|
{
|
|
public :
|
|
bool loadFromFile(const char *filename, Image& img);
|
|
|
|
bool loadFromMemory(const void *data, unsigned size, Image& img);
|
|
|
|
bool saveToFile(const Image& img, const char *filename);
|
|
|
|
protected :
|
|
|
|
bool decode(const char* data, unsigned int len, Image& img);
|
|
|
|
bool encode(Image& img, std::vector<unsigned char>& data);
|
|
|
|
bool encodeJPEG(const Image& img, std::vector<unsigned char>& data);
|
|
|
|
bool encodePNG(const Image& img, std::vector<unsigned char>& data);
|
|
|
|
protected :
|
|
|
|
std::string m_error;
|
|
};
|
|
|
|
#endif /* SPECTRE_GRAPHICS_IMAGE_LOADER_H */
|