gKit2 light
Loading...
Searching...
No Matches
image_io.h
Go to the documentation of this file.
1
2#ifndef _IMAGE_IO_H
3#define _IMAGE_IO_H
4
5#include "image.h"
6
7
10
13
16Image read_image( const char *filename, const bool flipY= true );
17Image read_image_hdr( const char *filename, const bool flipY= true );
18
20unsigned read_image_size( const char *filename );
21
23bool write_image( const Image& image, const char *filename, const bool flipY= true );
25bool write_image_png( const Image& image, const char *filename, const bool flipY= true );
27bool write_image_bmp( const Image& image, const char *filename, const bool flipY= true );
29bool write_image_hdr( const Image& image, const char *filename, const bool flipY= true );
30
32bool write_image_preview( const Image& image, const char *filename, const bool flipY= true );
33
35Image mipmap( const Image& image );
36
38Image srgb( const Image& image );
40Image linear( const Image& image );
41
43Image flipY( const Image& image );
45Image flipX( const Image& image );
46
48Image copy( const Image& image, const unsigned xmin, const unsigned ymin, const unsigned width, const unsigned height );
49
51Image& blit( Image& image, const unsigned xmin, const unsigned ymin, const Image& pixels );
52
54struct ImageData
55{
56 ImageData( ) : pixels(), width(0), height(0), channels(0), size(0) {}
57 ImageData( const unsigned w, const unsigned h, const unsigned c, const unsigned s= 1 ) : pixels(w*h*c*s, 0), width(w), height(h), channels(c), size(s) {}
58
59 unsigned offset( const unsigned x, const unsigned y, const unsigned c= 0 ) const { return (y * width +x) * channels * size + c * size; }
60 const void *data( ) const { return pixels.data(); }
61 void *data( ) { return pixels.data(); }
62
63 std::vector<unsigned char> pixels;
64
65 unsigned width;
66 unsigned height;
67 unsigned channels;
68 unsigned size;
69};
70
71
73ImageData read_image_data( const char *filename, const bool flipY= true );
74
76int write_image_data(const ImageData& image, const char *filename, const bool flipY= true );
77
79ImageData read_image_data( const void *buffer, const unsigned size, const bool flipY= true );
80
82ImageData srgb( const ImageData& image );
83
85ImageData linear( const ImageData& image );
86
88ImageData flipY( const ImageData& image );
90ImageData flipX( const ImageData& image );
91
93ImageData copy( const ImageData& image, const unsigned xmin, const unsigned ymin, const unsigned width, const unsigned height );
94
96ImageData& blit( ImageData& image, const unsigned xmin, const unsigned ymin, const ImageData& pixels );
97
99ImageData mipmap( const ImageData& image );
100
102int miplevels( const int width, const int height );
103
105
106#endif
representation d'une image.
Definition image.h:21
bool write_image_png(const Image &image, const char *filename, const bool flipY=true)
enregistre une image au format .png
Definition image_io.cpp:226
bool write_image_preview(const Image &image, const char *filename, const bool flipY=true)
raccourci pour write_image_png(tone(image, range(image)), "image.png")
Definition image_io.cpp:278
bool write_image_hdr(const Image &image, const char *filename, const bool flipY=true)
enregistre une image au format .hdr
Definition image_io.cpp:269
unsigned read_image_size(const char *filename)
renvoie la taille en octets de l'image chargee. ou 0 si erreur.
Definition image_io.cpp:182
bool write_image_bmp(const Image &image, const char *filename, const bool flipY=true)
enregistre une image au format .bmp
Definition image_io.cpp:250
Image & blit(Image &image, const unsigned xmin, const unsigned ymin, const Image &pixels)
remplace un bout d'image par une autre. copie l'image pixels dans image [xmin, xmin+pixels....
Definition image_io.cpp:162
Image mipmap(const Image &image)
reduit une image.
Definition image_io.cpp:95
ImageData read_image_data(const char *filename, const bool flipY=true)
charge les donnees d'un fichier png. renvoie une image initialisee par defaut en cas d'echec.
Definition image_io.cpp:350
Image flipY(const Image &image)
retourne l'image
Definition image_io.cpp:113
Image flipX(const Image &image)
retourne l'image
Definition image_io.cpp:130
Image read_image(const char *filename, const bool flipY=true)
Definition image_io.cpp:191
int write_image_data(const ImageData &image, const char *filename, const bool flipY=true)
enregistre des donnees dans un fichier png.
Definition image_io.cpp:366
Image linear(const Image &image)
transformation couleur : srgb vers rgb lineaire
Definition image_io.cpp:25
bool write_image(const Image &image, const char *filename, const bool flipY=true)
enregistre une image au format .png
Definition image_io.cpp:245
Image copy(const Image &image, const unsigned xmin, const unsigned ymin, const unsigned width, const unsigned height)
renvoie un bloc de l'image
Definition image_io.cpp:146
int miplevels(const int width, const int height)
renvoie le nombre de mipmap d'une image width x height.
Definition image_io.cpp:537
Image srgb(const Image &image)
transformation couleur : rgb lineaire vers srgb
Definition image_io.cpp:15
stockage temporaire des donnees d'une image.
Definition image_io.h:55