00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_IMAGE_HPP
00026 #define SFML_IMAGE_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032 #include <SFML/Graphics/Rect.hpp>
00033 #include <string>
00034 #include <vector>
00035
00036
00037 namespace sf
00038 {
00039 class InputStream;
00040
00045 class SFML_API Image
00046 {
00047 public :
00048
00055 Image();
00056
00065 void Create(unsigned int width, unsigned int height, const Color& color = Color(0, 0, 0));
00066
00080 void Create(unsigned int width, unsigned int height, const Uint8* pixels);
00081
00097 bool LoadFromFile(const std::string& filename);
00098
00115 bool LoadFromMemory(const void* data, std::size_t size);
00116
00132 bool LoadFromStream(InputStream& stream);
00133
00149 bool SaveToFile(const std::string& filename) const;
00150
00159 unsigned int GetWidth() const;
00160
00169 unsigned int GetHeight() const;
00170
00182 void CreateMaskFromColor(const Color& color, Uint8 alpha = 0);
00183
00204 void Copy(const Image& source, unsigned int destX, unsigned int destY, const IntRect& sourceRect = IntRect(0, 0, 0, 0), bool applyAlpha = false);
00205
00220 void SetPixel(unsigned int x, unsigned int y, const Color& color);
00221
00235 Color GetPixel(unsigned int x, unsigned int y) const;
00236
00250 const Uint8* GetPixelsPtr() const;
00251
00256 void FlipHorizontally();
00257
00262 void FlipVertically();
00263
00264 private :
00265
00267
00269 unsigned int myWidth;
00270 unsigned int myHeight;
00271 std::vector<Uint8> myPixels;
00272 };
00273
00274 }
00275
00276
00277 #endif // SFML_IMAGE_HPP
00278
00279