Image.pkg 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. $#include "Image.h"
  2. /// Supported compressed image formats.
  3. enum CompressedFormat
  4. {
  5. CF_NONE = 0,
  6. CF_DXT1,
  7. CF_DXT3,
  8. CF_DXT5,
  9. CF_ETC1,
  10. CF_PVRTC_RGB_2BPP,
  11. CF_PVRTC_RGBA_2BPP,
  12. CF_PVRTC_RGB_4BPP,
  13. CF_PVRTC_RGBA_4BPP,
  14. };
  15. /// %Image resource.
  16. class Image : public Resource
  17. {
  18. public:
  19. /// Flip image vertically.
  20. void FlipVertical();
  21. /// Save in BMP format. Return true if successful.
  22. bool SaveBMP(const char* fileName);
  23. /// Save in PNG format. Return true if successful.
  24. bool SavePNG(const char* fileName);
  25. /// Save in TGA format. Return true if successful.
  26. bool SaveTGA(const char* fileName);
  27. /// Save in JPG format with compression quality. Return true if successful.
  28. bool SaveJPG(const char* fileName, int quality);
  29. /// Return width.
  30. int GetWidth() const { return width_; }
  31. /// Return height.
  32. int GetHeight() const { return height_; }
  33. /// Return number of color components.
  34. unsigned GetComponents() const { return components_; }
  35. /// Return whether is compressed.
  36. bool IsCompressed() const { return compressedFormat_ != CF_NONE; }
  37. /// Return compressed format.
  38. CompressedFormat GetCompressedFormat() const { return compressedFormat_; }
  39. /// Return number of compressed mip levels.
  40. unsigned GetNumCompressedLevels() const { return numCompressedLevels_; }
  41. };