Public Member Functions | |
Writer (PNMFileType *type, std::ostream *file, bool owns_file) | |
virtual bool | supports_floating_point () |
Returns true if this PNMFileType can accept a floating-point image type, false if it can only accept a normal, integer type. More... | |
virtual bool | supports_integer () |
Returns true if this PNMFileType can accept an integer image type, false if it can only accept a floating-point type. More... | |
virtual bool | write_pfm (const PfmFile &pfm) |
Writes floating-point data from the indicated PfmFile. More... | |
Public Member Functions inherited from PNMWriter | |
void | copy_header_from (const PNMImageHeader &header) |
Initializes all the data in the header (x_size, y_size, num_channels, etc.) to the same values indicated in the given header. More... | |
PNMFileType * | get_type () const |
Returns a pointer to the PNMFileType object that created this PNMWriter. More... | |
bool | is_valid () const |
Returns true if the PNMWriter can be used to write data, false if something is wrong. More... | |
void | set_color_type (ColorType type) |
void | set_maxval (xelval maxval) |
void | set_num_channels (int num_channels) |
void | set_x_size (int x_size) |
void | set_y_size (int y_size) |
virtual bool | supports_grayscale () const |
Returns true if this particular PNMWriter understands grayscale images. More... | |
virtual bool | supports_stream_write () const |
Returns true if this particular PNMWriter can write to a general stream (including pipes, etc.), or false if the writer must occasionally fseek() on its output stream, and thus only disk streams are supported. More... | |
virtual bool | supports_write_row () const |
Returns true if this particular PNMWriter supports a streaming interface to writing the data: that is, it is capable of writing the image one row at a time, via repeated calls to write_row(). More... | |
virtual int | write_data (xel *array, xelval *alpha) |
Writes out an entire image all at once, including the header, based on the image data stored in the given _x_size * _y_size array and alpha pointers. More... | |
virtual bool | write_header () |
If supports_write_row(), above, returns true, this function may be called to write out the image header in preparation to writing out the image data one row at a time. More... | |
virtual bool | write_row (xel *array, xelval *alpha) |
If supports_write_row(), above, returns true, this function may be called repeatedly to write the image, one horizontal row at a time, beginning from the top. More... | |
Public Member Functions inherited from PNMImageHeader | |
PNMImageHeader (const PNMImageHeader ©) | |
ColorSpace | get_color_space () const |
ColorType | get_color_type () const |
Returns the image type of the image, as an enumerated value. More... | |
std::string | get_comment () const |
xelval | get_maxval () const |
int | get_num_channels () const |
LVecBase2i | get_size () const |
PNMFileType * | get_type () const |
int | get_x_size () const |
Returns the number of pixels in the X direction. More... | |
int | get_y_size () const |
Returns the number of pixels in the Y direction. More... | |
bool | has_alpha () const |
Returns true if the image includes an alpha channel, false otherwise. More... | |
bool | has_type () const |
bool | is_grayscale () const |
Returns false if the image is a full-color image, and has red, green, and blue components; true if it is a grayscale image and has only a gray component. More... | |
PNMReader * | make_reader (const Filename &filename, PNMFileType *type=nullptr, bool report_unknown_type=true) const |
Returns a newly-allocated PNMReader of the suitable type for reading from the indicated image filename, or NULL if the filename cannot be read for some reason. More... | |
PNMReader * | make_reader (std::istream *file, bool owns_file=true, const Filename &filename=Filename(), std::string magic_number=std::string(), PNMFileType *type=nullptr, bool report_unknown_type=true) const |
Returns a newly-allocated PNMReader of the suitable type for reading from the already-opened image file, or NULL if the file cannot be read for some reason. More... | |
PNMWriter * | make_writer (const Filename &filename, PNMFileType *type=nullptr) const |
Returns a newly-allocated PNMWriter of the suitable type for writing an image to the indicated filename, or NULL if the filename cannot be written for some reason. More... | |
PNMWriter * | make_writer (std::ostream *file, bool owns_file=true, const Filename &filename=Filename(), PNMFileType *type=nullptr) const |
Returns a newly-allocated PNMWriter of the suitable type for writing to the already-opened image file, or NULL if the file cannot be written for some reason. More... | |
void | operator= (const PNMImageHeader ©) |
void | output (std::ostream &out) const |
bool | read_header (const Filename &filename, PNMFileType *type=nullptr, bool report_unknown_type=true) |
Opens up the image file and tries to read its header information to determine its size, number of channels, etc. More... | |
bool | read_header (std::istream &data, const std::string &filename=std::string(), PNMFileType *type=nullptr, bool report_unknown_type=true) |
Reads the image header information only from the indicated stream. More... | |
void | set_comment (const std::string &comment) |
void | set_type (PNMFileType *type) |
Sets the file type of this PNMImage. More... | |
Additional Inherited Members | |
Public Types inherited from PNMImageHeader | |
enum | ColorType { CT_invalid = 0, CT_grayscale = 1, CT_two_channel = 2, CT_color = 3, CT_four_channel = 4 } |
typedef pmap< PixelSpec, int > | HistMap |
typedef pvector< PixelSpec > | Palette |
typedef pvector< PixelSpecCount > | PixelCount |
Static Public Member Functions inherited from PNMImageHeader | |
static bool | has_alpha (ColorType color_type) |
This static variant of has_alpha() returns true if the indicated image type includes an alpha channel, false otherwise. More... | |
static bool | is_grayscale (ColorType color_type) |
This static variant of is_grayscale() returns true if the indicated image type represents a grayscale image, false otherwise. More... | |
static bool | read_magic_number (std::istream *file, std::string &magic_number, int num_bytes) |
Ensures that the first n bytes of the file are read into magic_number. More... | |
Public Attributes inherited from PNMImageHeader | |
get_color_space | |
Returns the color space that the image is encoded in, or CS_unspecified if unknown. More... | |
get_comment | |
Gets the user comment from the file. More... | |
get_maxval | |
Returns the maximum channel value allowable for any pixel in this image; for instance, 255 for a typical 8-bit-per-channel image. More... | |
get_num_channels | |
Returns the number of channels in the image. More... | |
get_size | |
Returns the number of pixels in each direction. More... | |
get_type | |
If the file type is known (e.g. More... | |
has_type | |
Returns true if the PNMImageHeader knows what type it is, false otherwise. More... | |
set_comment | |
Writes a user comment string to the image (header). More... | |
Definition at line 57 of file pnmFileTypePfm.h.
|
virtual |
Returns true if this PNMFileType can accept a floating-point image type, false if it can only accept a normal, integer type.
If this returns true, write_pfm() is implemented.
Reimplemented from PNMWriter.
Definition at line 246 of file pnmFileTypePfm.cxx.
|
virtual |
Returns true if this PNMFileType can accept an integer image type, false if it can only accept a floating-point type.
If this returns true, write_data() or write_row() is implemented.
Reimplemented from PNMWriter.
Definition at line 256 of file pnmFileTypePfm.cxx.
|
virtual |
Writes floating-point data from the indicated PfmFile.
Returns true on success, false on failure.
Reimplemented from PNMWriter.
Definition at line 265 of file pnmFileTypePfm.cxx.