Class representing an image file. More...
#include <OgreImage.h>
Public Types | |
enum | Filter { FILTER_NEAREST, FILTER_LINEAR, FILTER_BILINEAR, FILTER_BOX, FILTER_TRIANGLE, FILTER_BICUBIC } |
typedef Ogre::Box | Box |
typedef Ogre::Rect | Rect |
Public Member Functions | |
Image () | |
Standard constructor. | |
Image (const Image &img) | |
Copy-constructor - copies all the data from the target image. | |
virtual | ~Image () |
Standard destructor. | |
Image & | operator= (const Image &img) |
Assignment operator - copies all the data from the target image. | |
Image & | flipAroundY () |
Flips (mirrors) the image around the Y-axis. | |
Image & | flipAroundX () |
Flips (mirrors) the image around the X-axis. | |
Image & | loadDynamicImage (uchar *data, size_t width, size_t height, size_t depth, PixelFormat format, bool autoDelete=false, size_t numFaces=1, size_t numMipMaps=0) |
Stores a pointer to raw data in memory. | |
Image & | loadDynamicImage (uchar *data, size_t width, size_t height, PixelFormat format) |
Stores a pointer to raw data in memory. | |
Image & | loadRawData (DataStreamPtr &stream, size_t width, size_t height, size_t depth, PixelFormat format, size_t numFaces=1, size_t numMipMaps=0) |
Loads raw data from a stream. | |
Image & | loadRawData (DataStreamPtr &stream, size_t width, size_t height, PixelFormat format) |
Loads raw data from a stream. | |
Image & | load (const String &filename, const String &groupName) |
Loads an image file. | |
Image & | load (DataStreamPtr &stream, const String &type=StringUtil::BLANK) |
Loads an image file from a stream. | |
Image & | loadTwoImagesAsRGBA (const String &rgbFilename, const String &alphaFilename, const String &groupName, PixelFormat format=PF_BYTE_RGBA) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha). | |
Image & | loadTwoImagesAsRGBA (DataStreamPtr &rgbStream, DataStreamPtr &alphaStream, PixelFormat=PF_BYTE_RGBA, const String &rgbType=StringUtil::BLANK, const String &alphaType=StringUtil::BLANK) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha). | |
Image & | combineTwoImagesAsRGBA (const Image &rgb, const Image &alpha, PixelFormat format=PF_BYTE_RGBA) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha). | |
void | save (const String &filename) |
Save the image as a file. | |
DataStreamPtr | encode (const String &formatextension) |
Encode the image and return a stream to the data. | |
uchar * | getData (void) |
Returns a pointer to the internal image buffer. | |
const uchar * | getData () const |
Returns a const pointer to the internal image buffer. | |
size_t | getSize () const |
Returns the size of the data buffer. | |
size_t | getNumMipmaps () const |
Returns the number of mipmaps contained in the image. | |
bool | hasFlag (const ImageFlags imgFlag) const |
Returns true if the image has the appropriate flag set. | |
size_t | getWidth (void) const |
Gets the width of the image in pixels. | |
size_t | getHeight (void) const |
Gets the height of the image in pixels. | |
size_t | getDepth (void) const |
Gets the depth of the image. | |
size_t | getNumFaces (void) const |
Get the number of faces of the image. | |
size_t | getRowSpan (void) const |
Gets the physical width in bytes of each row of pixels. | |
PixelFormat | getFormat () const |
Returns the image format. | |
uchar | getBPP () const |
Returns the number of bits per pixel. | |
bool | getHasAlpha () const |
Returns true if the image has an alpha component. | |
ColourValue | getColourAt (size_t x, size_t y, size_t z) const |
Get colour value from a certain location in the image. | |
void | setColourAt (ColourValue const &cv, size_t x, size_t y, size_t z) |
Set colour value at a certain location in the image. | |
PixelBox | getPixelBox (size_t face=0, size_t mipmap=0) const |
Get a PixelBox encapsulating the image data of a mipmap. | |
void | freeMemory () |
Delete all the memory held by this image, if owned by this image (not dynamic). | |
void | resize (ushort width, ushort height, Filter filter=FILTER_BILINEAR) |
Resize a 2D image, applying the appropriate filter. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Member Functions | |
static void | applyGamma (uchar *buffer, Real gamma, size_t size, uchar bpp) |
Does gamma adjustment. | |
static void | scale (const PixelBox &src, const PixelBox &dst, Filter filter=FILTER_BILINEAR) |
Scale a 1D, 2D or 3D image volume. | |
static size_t | calculateSize (size_t mipmaps, size_t faces, size_t width, size_t height, size_t depth, PixelFormat format) |
static String | getFileExtFromMagic (DataStreamPtr stream) |
Static function to get an image type string from a stream via magic numbers. | |
Protected Attributes | |
size_t | mWidth |
size_t | mHeight |
size_t | mDepth |
size_t | mBufSize |
size_t | mNumMipmaps |
int | mFlags |
PixelFormat | mFormat |
uchar | mPixelSize |
uchar * | mBuffer |
bool | mAutoDelete |
Class representing an image file.
Definition at line 61 of file OgreImage.h.
typedef Ogre::Box Ogre::Image::Box |
Definition at line 64 of file OgreImage.h.
typedef Ogre::Rect Ogre::Image::Rect |
Definition at line 65 of file OgreImage.h.
enum Ogre::Image::Filter |
Definition at line 450 of file OgreImage.h.
Ogre::Image::Image | ( | ) |
Standard constructor.
Ogre::Image::Image | ( | const Image & | img | ) |
Copy-constructor - copies all the data from the target image.
virtual Ogre::Image::~Image | ( | ) | [virtual] |
Standard destructor.
Does gamma adjustment.
static size_t Ogre::Image::calculateSize | ( | size_t | mipmaps, | |
size_t | faces, | |||
size_t | width, | |||
size_t | height, | |||
size_t | depth, | |||
PixelFormat | format | |||
) | [static] |
Image& Ogre::Image::combineTwoImagesAsRGBA | ( | const Image & | rgb, | |
const Image & | alpha, | |||
PixelFormat | format = PF_BYTE_RGBA | |||
) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha).
DataStreamPtr Ogre::Image::encode | ( | const String & | formatextension | ) |
Encode the image and return a stream to the data.
formatextension | An extension to identify the image format to encode into, e.g. "jpg" or "png" |
Image& Ogre::Image::flipAroundX | ( | ) |
Flips (mirrors) the image around the X-axis.
flip axis | originalimg|gmilanigiro 00000000000|00000000000 00000000000|00000000000 00000000000|00000000000 00000000000|00000000000 00000000000|00000000000
Image& Ogre::Image::flipAroundY | ( | ) |
Flips (mirrors) the image around the Y-axis.
originalimg 00000000000 00000000000 00000000000 00000000000 00000000000 ------------> flip axis 00000000000 00000000000 00000000000 00000000000 00000000000 originalimg
void Ogre::Image::freeMemory | ( | ) |
Delete all the memory held by this image, if owned by this image (not dynamic).
uchar Ogre::Image::getBPP | ( | ) | const |
Returns the number of bits per pixel.
ColourValue Ogre::Image::getColourAt | ( | size_t | x, | |
size_t | y, | |||
size_t | z | |||
) | const |
Get colour value from a certain location in the image.
The z coordinate is only valid for cubemaps and volume textures. This uses the first (largest) mipmap.
const uchar* Ogre::Image::getData | ( | ) | const |
Returns a const pointer to the internal image buffer.
uchar* Ogre::Image::getData | ( | void | ) |
Returns a pointer to the internal image buffer.
size_t Ogre::Image::getDepth | ( | void | ) | const |
Gets the depth of the image.
static String Ogre::Image::getFileExtFromMagic | ( | DataStreamPtr | stream | ) | [static] |
Static function to get an image type string from a stream via magic numbers.
PixelFormat Ogre::Image::getFormat | ( | ) | const |
Returns the image format.
bool Ogre::Image::getHasAlpha | ( | ) | const |
Returns true if the image has an alpha component.
size_t Ogre::Image::getHeight | ( | void | ) | const |
Gets the height of the image in pixels.
size_t Ogre::Image::getNumFaces | ( | void | ) | const |
Get the number of faces of the image.
This is usually 6 for a cubemap, and 1 for a normal image.
size_t Ogre::Image::getNumMipmaps | ( | ) | const |
Returns the number of mipmaps contained in the image.
PixelBox Ogre::Image::getPixelBox | ( | size_t | face = 0 , |
|
size_t | mipmap = 0 | |||
) | const |
Get a PixelBox encapsulating the image data of a mipmap.
size_t Ogre::Image::getRowSpan | ( | void | ) | const |
Gets the physical width in bytes of each row of pixels.
size_t Ogre::Image::getSize | ( | ) | const |
Returns the size of the data buffer.
size_t Ogre::Image::getWidth | ( | void | ) | const |
Gets the width of the image in pixels.
bool Ogre::Image::hasFlag | ( | const ImageFlags | imgFlag | ) | const |
Returns true if the image has the appropriate flag set.
Image& Ogre::Image::load | ( | DataStreamPtr & | stream, | |
const String & | type = StringUtil::BLANK | |||
) |
Loads an image file from a stream.
stream | The source data. | |
type | The type of the image. Used to decide what decompression codec to use. Can be left blank if the stream data includes a header to identify the data. |
Loads an image file.
filename | Name of an image file to load. | |
groupName | Name of the resource group to search for the image |
Image& Ogre::Image::loadDynamicImage | ( | uchar * | data, | |
size_t | width, | |||
size_t | height, | |||
PixelFormat | format | |||
) |
Stores a pointer to raw data in memory.
The pixel format has to be specified.
The | data pointer | |
Width | of image | |
Height | of image | |
Pixel | Format |
Definition at line 205 of file OgreImage.h.
Image& Ogre::Image::loadDynamicImage | ( | uchar * | data, | |
size_t | width, | |||
size_t | height, | |||
size_t | depth, | |||
PixelFormat | format, | |||
bool | autoDelete = false , |
|||
size_t | numFaces = 1 , |
|||
size_t | numMipMaps = 0 | |||
) |
Stores a pointer to raw data in memory.
The pixel format has to be specified.
The | data pointer | |
Width | of image | |
Height | of image | |
Image | Depth (in 3d images, numbers of layers, otherwise 1) | |
Pixel | Format | |
if | memory associated with this buffer is to be destroyed with the Image object. Note: it's important that if you set this option to true, that you allocated the memory using OGRE_ALLOC_T with a category of MEMCATEGORY_GENERAL to ensure the freeing of memory matches up. | |
the | number of faces the image data has inside (6 for cubemaps, 1 otherwise) | |
the | number of mipmaps the image data has inside |
Image& Ogre::Image::loadRawData | ( | DataStreamPtr & | stream, | |
size_t | width, | |||
size_t | height, | |||
PixelFormat | format | |||
) |
Loads raw data from a stream.
The pixel format has to be specified.
Definition at line 253 of file OgreImage.h.
Image& Ogre::Image::loadRawData | ( | DataStreamPtr & | stream, | |
size_t | width, | |||
size_t | height, | |||
size_t | depth, | |||
PixelFormat | format, | |||
size_t | numFaces = 1 , |
|||
size_t | numMipMaps = 0 | |||
) |
Loads raw data from a stream.
See the function loadDynamicImage for a description of the parameters.
Image& Ogre::Image::loadTwoImagesAsRGBA | ( | DataStreamPtr & | rgbStream, | |
DataStreamPtr & | alphaStream, | |||
PixelFormat | = PF_BYTE_RGBA , |
|||
const String & | rgbType = StringUtil::BLANK , |
|||
const String & | alphaType = StringUtil::BLANK | |||
) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha).
rgbStream | Stream of image supplying the RGB channels (any alpha is ignored) | |
alphaStream | Stream of image supplying the alpha channel. If a luminance image the single channel is used directly, if an RGB image then the values are converted to greyscale. | |
format | The destination format | |
rgbType | The type of the RGB image. Used to decide what decompression codec to use. Can be left blank if the stream data includes a header to identify the data. | |
alphaType | The type of the alpha image. Used to decide what decompression codec to use. Can be left blank if the stream data includes a header to identify the data. |
Image& Ogre::Image::loadTwoImagesAsRGBA | ( | const String & | rgbFilename, | |
const String & | alphaFilename, | |||
const String & | groupName, | |||
PixelFormat | format = PF_BYTE_RGBA | |||
) |
Utility method to combine 2 separate images into this one, with the first image source supplying the RGB channels, and the second image supplying the alpha channel (as luminance or separate alpha).
rgbFilename | Filename of image supplying the RGB channels (any alpha is ignored) | |
alphaFilename | Filename of image supplying the alpha channel. If a luminance image the single channel is used directly, if an RGB image then the values are converted to greyscale. | |
groupName | The resource group from which to load the images | |
format | The destination format |
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
Assignment operator - copies all the data from the target image.
Resize a 2D image, applying the appropriate filter.
void Ogre::Image::save | ( | const String & | filename | ) |
Save the image as a file.
static void Ogre::Image::scale | ( | const PixelBox & | src, | |
const PixelBox & | dst, | |||
Filter | filter = FILTER_BILINEAR | |||
) | [static] |
Scale a 1D, 2D or 3D image volume.
src | PixelBox containing the source pointer, dimensions and format | |
dst | PixelBox containing the destination pointer, dimensions and format | |
filter | Which filter to use |
void Ogre::Image::setColourAt | ( | ColourValue const & | cv, | |
size_t | x, | |||
size_t | y, | |||
size_t | z | |||
) |
Set colour value at a certain location in the image.
The z coordinate is only valid for cubemaps and volume textures. This uses the first (largest) mipmap.
bool Ogre::Image::mAutoDelete [protected] |
Definition at line 499 of file OgreImage.h.
uchar* Ogre::Image::mBuffer [protected] |
Definition at line 496 of file OgreImage.h.
size_t Ogre::Image::mBufSize [protected] |
Definition at line 485 of file OgreImage.h.
size_t Ogre::Image::mDepth [protected] |
Definition at line 483 of file OgreImage.h.
int Ogre::Image::mFlags [protected] |
Definition at line 489 of file OgreImage.h.
PixelFormat Ogre::Image::mFormat [protected] |
Definition at line 492 of file OgreImage.h.
size_t Ogre::Image::mHeight [protected] |
Definition at line 481 of file OgreImage.h.
size_t Ogre::Image::mNumMipmaps [protected] |
Definition at line 487 of file OgreImage.h.
uchar Ogre::Image::mPixelSize [protected] |
Definition at line 495 of file OgreImage.h.
size_t Ogre::Image::mWidth [protected] |
Definition at line 479 of file OgreImage.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:37:41 2012