nvidia-texture-tools/src/nvimage/ImageIO.h

62 lines
1.7 KiB
C
Raw Normal View History

2007-04-17 08:49:19 +00:00
// This code is in the public domain -- castanyo@yahoo.es
#ifndef NV_IMAGE_IMAGEIO_H
#define NV_IMAGE_IMAGEIO_H
#include <nvimage/nvimage.h>
2009-02-03 09:23:58 +00:00
#include <nvcore/StrLib.h>
2007-04-17 08:49:19 +00:00
namespace nv
{
class Image;
class FloatImage;
class Stream;
namespace ImageIO
{
NVIMAGE_API Image * load(const char * fileName);
NVIMAGE_API Image * load(const char * fileName, Stream & s);
NVIMAGE_API FloatImage * loadFloat(const char * fileName);
NVIMAGE_API FloatImage * loadFloat(const char * fileName, Stream & s);
2007-04-17 08:49:19 +00:00
2008-11-21 07:57:28 +00:00
NVIMAGE_API bool save(const char * fileName, Stream & s, const Image * img);
NVIMAGE_API bool save(const char * fileName, const Image * img);
NVIMAGE_API bool saveFloat(const char * fileName, const FloatImage * fimage, uint base_component, uint num_components);
2007-04-17 08:49:19 +00:00
NVIMAGE_API Image * loadTGA(Stream & s);
NVIMAGE_API bool saveTGA(Stream & s, const Image * img);
NVIMAGE_API Image * loadPSD(Stream & s);
2007-04-17 08:49:19 +00:00
#if defined(HAVE_PNG)
NVIMAGE_API Image * loadPNG(Stream & s);
2009-02-03 09:23:58 +00:00
typedef HashMap<String, String> PngCommentsMap;
NVIMAGE_API bool savePNG(Stream & s, const Image * img, const PngCommentsMap & comments = PngCommentsMap());
2007-04-17 08:49:19 +00:00
#endif
#if defined(HAVE_JPEG)
NVIMAGE_API Image * loadJPG(Stream & s);
#endif
2007-04-17 08:49:19 +00:00
#if defined(HAVE_TIFF)
NVIMAGE_API FloatImage * loadFloatTIFF(const char * fileName, Stream & s);
NVIMAGE_API bool saveFloatTIFF(const char * fileName, const FloatImage * fimage, uint base_component, uint num_components);
#endif
2007-04-17 08:49:19 +00:00
#if defined(HAVE_OPENEXR)
NVIMAGE_API FloatImage * loadFloatEXR(const char * fileName, Stream & s);
NVIMAGE_API bool saveFloatEXR(const char * fileName, const FloatImage * fimage, uint base_component, uint num_components);
2007-04-17 08:49:19 +00:00
#endif
2007-04-17 08:49:19 +00:00
} // ImageIO namespace
} // nv namespace
#endif // NV_IMAGE_IMAGEIO_H