Home | Download | Screen shots | Discussion | Documentation |
---|
#include <openvrml/basetypes.h>
The first pixel in the array
is the lower left pixel and the last is the upper right pixel. Pixel values are limited to 256 levels of intensity. The elements of array
are bytes, with one byte per pixel component. Thus the number of elements in the array is x
* y
* comp
.
A one-component image specifies one-byte greyscale values. A two-component image specifies the intensity in the first byte and the alpha opacity in the second byte. A three-component image specifies the red component in the first byte, followed by the green and blue components. Four-component images specify the alpha opacity byte after red/green/blue.
Public Member Functions | |
image () throw () | |
Construct. | |
image (size_t x, size_t y, size_t comp) throw ( std::bad_alloc ) | |
Construct. | |
image (size_t x, size_t y, size_t comp, const std::vector< unsigned char > &array) throw ( std::bad_alloc ) | |
Construct. | |
template<typename InputIterator> | |
image (size_t x, size_t y, size_t comp, InputIterator array_begin, InputIterator array_end) throw ( std::bad_alloc ) | |
Construct. | |
void | swap (image &img) throw () |
Swap. | |
size_t | x () const throw () |
Pixels in the x-dimension. | |
void | x (size_t value) throw ( std::bad_alloc ) |
Set the pixels in the x-dimension. | |
size_t | y () const throw () |
Pixels in the y-dimension. | |
void | y (size_t value) throw ( std::bad_alloc ) |
Set the pixels in the y-dimension. | |
void | resize (size_t x, size_t y) throw ( std::bad_alloc ) |
Resize the x- and y-dimensions. | |
size_t | comp () const throw () |
Number of components. | |
void | comp (size_t value) throw ( std::bad_alloc ) |
Set the number of components. | |
const std::vector< unsigned char > & | array () const throw () |
Pixel value array. | |
void | array (const std::vector< unsigned char > &value) throw () |
Set the pixel value array. | |
template<typename InputIterator> | |
void | array (InputIterator begin, InputIterator end) throw () |
Set the pixel value array. | |
unsigned long | pixel (size_t index) const throw () |
Pixel value. | |
void | pixel (size_t index, unsigned long value) throw () |
Set a pixel value. | |
unsigned long | pixel (size_t x, size_t y) const throw () |
Pixel value. | |
void | pixel (size_t x, size_t y, unsigned long value) throw () |
Set a pixel value. | |
Private Attributes | |
size_t | x_ |
Pixels in the x-dimension. | |
size_t | y_ |
Pixels in the y-dimension. | |
size_t | comp_ |
Number of components. | |
std::vector< unsigned char > | array_ |
Pixel data. | |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const image &lhs, const image &rhs) throw() |
Compare for equality. | |
bool | operator!= (const image &lhs, const image &rhs) throw() |
Compare for inequality. | |
std::ostream & | operator<< (std::ostream &out, const image &img) |
Stream output. | |
template<> void | swap (openvrml::image &a, openvrml::image &b) |
Swap the values of and b . |
openvrml::image::image | ( | ) | throw () |
Construct.
openvrml::image::image | ( | size_t | x, | |
size_t | y, | |||
size_t | comp | |||
) | throw ( std::bad_alloc ) |
Construct.
[in] | x | pixels in the x-direction. |
[in] | y | pixels in the y-direction. |
[in] | comp | number of components. |
openvrml::image::image | ( | size_t | x, | |
size_t | y, | |||
size_t | comp, | |||
const std::vector< unsigned char > & | array | |||
) | throw ( std::bad_alloc ) |
Construct.
array.size()
<= x
* y
* comp
.[in] | x | pixels in the x-direction. |
[in] | y | pixels in the y-direction. |
[in] | comp | number of components. |
[in] | array | pixel data. |
openvrml::image::image | ( | size_t | x, | |
size_t | y, | |||
size_t | comp, | |||
InputIterator | array_begin, | |||
InputIterator | array_end | |||
) | throw ( std::bad_alloc ) [inline] |
Construct.
array_begin
, array_end
) <= x
* y
* comp
.[in] | x | pixels in the x-direction. |
[in] | y | pixels in the y-direction. |
[in] | comp | number of components. |
[in] | array_begin | pixel data begin iterator. |
[in] | array_end | pixel data end iterator. |
std::bad_alloc | if memory allocation fails. |
size_t openvrml::image::x | ( | ) | const throw () [inline] |
Pixels in the x-dimension.
void openvrml::image::x | ( | size_t | value | ) | throw ( std::bad_alloc ) |
Set the pixels in the x-dimension.
[in] | value | new value for the x-dimension. |
std::bad_alloc | if memory allocation fails. |
size_t openvrml::image::y | ( | ) | const throw () [inline] |
Pixels in the y-dimension.
void openvrml::image::y | ( | size_t | value | ) | throw ( std::bad_alloc ) |
Set the pixels in the y-dimension.
[in] | value | new value for the x-dimension. |
std::bad_alloc | if memory allocation fails. |
void openvrml::image::resize | ( | size_t | x, | |
size_t | y | |||
) | throw ( std::bad_alloc ) |
Resize the x- and y-dimensions.
[in] | x | x-dimension. |
[in] | y | y-dimension. |
std::bad_alloc | if memory allocation fails. |
size_t openvrml::image::comp | ( | ) | const throw () [inline] |
Number of components.
void openvrml::image::comp | ( | size_t | value | ) | throw ( std::bad_alloc ) |
Set the number of components.
value
<= 4[in] | value | number of components. |
const std::vector< unsigned char > & openvrml::image::array | ( | ) | const throw () [inline] |
Pixel value array.
void openvrml::image::array | ( | const std::vector< unsigned char > & | value | ) | throw () [inline] |
void openvrml::image::array | ( | InputIterator | begin, | |
InputIterator | end | |||
) | throw () [inline] |
unsigned long openvrml::image::pixel | ( | size_t | index | ) | const throw () [inline] |
void openvrml::image::pixel | ( | size_t | index, | |
unsigned long | value | |||
) | throw () [inline] |
unsigned long openvrml::image::pixel | ( | size_t | x, | |
size_t | y | |||
) | const throw () [inline] |
void openvrml::image::pixel | ( | size_t | x, | |
size_t | y, | |||
unsigned long | value | |||
) | throw () [inline] |
Compare for equality.
[in] | lhs | left-hand operand. |
[in] | rhs | right-hand operand. |
true
if lhs
and rhs
are equal; false
otherwise. Compare for inequality.
[in] | lhs | left-hand operand. |
[in] | rhs | right-hand operand. |
true
if lhs
and rhs
are not equal; false
otherwise. std::ostream & operator<< | ( | std::ostream & | out, | |
const image & | img | |||
) | [related] |
template<> void swap | ( | openvrml::image & | a, | |
openvrml::image & | b | |||
) | [related] |
Swap the values of and
b
.
Does not throw.
[in,out] | a | |
[in,out] | b |
size_t openvrml::image::x_ [private] |
Pixels in the x-dimension.
For internal use only.
size_t openvrml::image::y_ [private] |
Pixels in the y-dimension.
For internal use only.
size_t openvrml::image::comp_ [private] |
Number of components.
For internal use only.
std::vector< unsigned char > openvrml::image::array_ [private] |
Pixel data.
For internal use only.