Home | Download | Screen shots | Discussion | Documentation |
---|
Pixmap data. More...
#include <openvrml/basetypes.h>
Public Member Functions | |
image () throw () | |
Construct. | |
image (std::size_t x, std::size_t y, std::size_t comp) throw ( std::bad_alloc ) | |
Construct. | |
image (std::size_t x, std::size_t y, std::size_t comp, const std::vector< unsigned char > &array) throw ( std::bad_alloc ) | |
Construct. | |
template<typename InputIterator > | |
image (std::size_t x, std::size_t y, std::size_t comp, InputIterator array_begin, InputIterator array_end) throw ( std::bad_alloc ) | |
Construct. | |
void | swap (image &img) throw () |
Swap. | |
std::size_t | x () const throw () |
Pixels in the x-dimension. | |
void | x (std::size_t value) throw ( std::bad_alloc ) |
Set the pixels in the x-dimension. | |
std::size_t | y () const throw () |
Pixels in the y-dimension. | |
void | y (std::size_t value) throw ( std::bad_alloc ) |
Set the pixels in the y-dimension. | |
void | resize (std::size_t x, std::size_t y) throw ( std::bad_alloc ) |
Resize the x- and y-dimensions. | |
std::size_t | comp () const throw () |
Number of components. | |
void | comp (std::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. | |
int32 | pixel (std::size_t index) const throw () |
Pixel value. | |
void | pixel (std::size_t index, int32 value) throw () |
Set a pixel value. | |
int32 | pixel (std::size_t x, std::size_t y) const throw () |
Pixel value. | |
void | pixel (std::size_t x, std::size_t y, int32 value) throw () |
Set a pixel value. |
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::istream & | operator>> (std::istream &in, image &img) |
Stream input. | |
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 . |
Pixmap data.
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.
|
inline |
Construct.
|
inline |
Construct.
[in] | x | pixels in the x-direction. |
[in] | y | pixels in the y-direction. |
[in] | comp | number of components. |
openvrml::image::image | ( | std::size_t | x, |
std::size_t | y, | ||
std::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 | ( | std::size_t | x, |
std::size_t | y, | ||
std::size_t | comp, | ||
InputIterator | array_begin, | ||
InputIterator | array_end | ||
) | throw ( std::bad_alloc ) |
Construct.
array_begin
, array_end
) <= x
* y
* comp
.InputIterator | an Input Iterator. |
[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. |
|
inline |
Swap.
[in,out] | img | an image. |
|
inline |
Pixels in the x-dimension.
void openvrml::image::x | ( | std::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. |
|
inline |
Pixels in the y-dimension.
void openvrml::image::y | ( | std::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 | ( | std::size_t | x, |
std::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. |
|
inline |
Number of components.
void openvrml::image::comp | ( | std::size_t | value | ) | throw ( std::bad_alloc ) |
Set the number of components.
value
<= 4[in] | value | number of components. |
|
inline |
Pixel value array.
|
inline |
void openvrml::image::array | ( | InputIterator | begin, |
InputIterator | end | ||
) | throw () |
Set the pixel value array.
InputIterator | an Input Iterator. |
[in] | begin | input iterator to the beginning of a sequence. |
[in] | end | input iterator to the end of the sequence (one past the last element). |
|
inline |
|
inline |
|
inline |
|
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.
|
related |
Stream input.
Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.
[in,out] | in | input stream. |
[out] | img | an image . |
in
.
|
related |
Stream output.
[in,out] | out | output stream. |
[in] | img | an image . |
|
related |
Swap the values of and
b
.
Does not throw.
[in,out] | a | |
[in,out] | b |