6 #include <SDL2_image/SDL_surface.h>
8 #include <SDL2/SDL_surface.h>
33 Image copy(
const Image& image,
const int xmin,
const int ymin,
const int width,
const int height );
39 ImageData( ) : pixels(), width(0), height(0), channels(0), size(0) {}
40 ImageData(
const int w,
const int h,
const int c,
const int s= 1 ) : pixels(w*h*c*s, 0), width(w), height(h), channels(c), size(s) {}
42 size_t offset(
const int x,
const int y,
const int c= 0 )
const {
return (y * width +x) * channels * size + c * size; }
43 const void *data( )
const {
return pixels.data(); }
44 void *data( ) {
return pixels.data(); }
46 std::vector<unsigned char> pixels;
69 ImageData copy(
const ImageData& image,
const int xmin,
const int ymin,
const int width,
const int height );
representation d'une image.
ImageData read_image_data(const char *filename)
charge les donnees d'un fichier png. renvoie une image initialisee par defaut en cas d'echec.
int write_image_data(ImageData &image, const char *filename)
enregistre des donnees dans un fichier png.
ImageData image_data(SDL_Surface *surface)
converti une surface SDL en imageData, cf RWops pour charger les images deja en memoire.
int write_image(const Image &image, const char *filename)
enregistre une image dans un fichier png.
Image flipY(const Image &image)
retourne l'image
Image flipX(const Image &image)
retourne l'image
Image copy(const Image &image, const int xmin, const int ymin, const int width, const int height)
renvoie un bloc de l'image
Image linear(const Image &image)
conversion de srgb vers rgb lineaire. necessaire pour les images couleurs.
ImageData downscale(const ImageData &image)
renvoie une image filtree plus petite.
Image read_image(const char *filename)
Image srgb(const Image &image)
conversion de rgb lineaire vers srgb.
stockage temporaire des donnees d'une image.