|
IMF_EXPORT | InputFile (OPENEXR_IMF_INTERNAL_NAMESPACE::IStream &is, int numThreads=globalThreadCount()) |
|
IMF_EXPORT | InputFile (const char filename[], int numThreads=globalThreadCount()) |
|
IMF_EXPORT | InputFile (const char *filename, const ContextInitializer &ctxtinit, int numThreads=globalThreadCount()) |
|
IMF_EXPORT const char * | fileName () const |
|
IMF_EXPORT const Header & | header () const |
|
IMF_EXPORT int | version () const |
|
IMF_EXPORT void | setFrameBuffer (const FrameBuffer &frameBuffer) |
|
IMF_EXPORT const FrameBuffer & | frameBuffer () const |
|
IMF_EXPORT bool | isComplete () const |
|
IMF_EXPORT bool | isOptimizationEnabled () const |
|
IMF_EXPORT void | readPixels (int scanLine1, int scanLine2) |
|
IMF_EXPORT void | readPixels (int scanLine) |
|
IMF_EXPORT void | readPixels (const FrameBuffer &frameBuffer, int scanLine1, int scanLine2) |
|
IMF_EXPORT void | rawPixelData (int firstScanLine, const char *&pixelData, int &pixelDataSize) |
|
IMF_EXPORT void | rawPixelDataToBuffer (int scanLine, char *pixelData, int &pixelDataSize) const |
|
IMF_EXPORT void | rawTileData (int &dx, int &dy, int &lx, int &ly, const char *&pixelData, int &pixelDataSize) |
|
Provides generic access to read an image from an EXR file.
There are a suite of classes for accessing image data, depending on the level of complexity your application demands. This one is perhaps a good starting point. There is a simpler one in
- See Also
- RgbaInputFile, but that has very noted limitations of only being for a 16-bit half, RGBA image. This class gives access to arbitrary channels and data type outputs. It also will convert a tiled image into a "normal" image, and simplify access if you only want the first part, first image of a file.
If you will be accessing tiles (say for a renderer), working with multi-part images, or reading deep data there are other classes which provide API for handling that complexity more efficiently:
MultiPartInputFile can be constructed but not directly accessible
Of these, InputFile provide somewhat of a barrier to knowing what the file actually contains, such that it allows you to read a file as if it is scanlines, even if it is actually tiled under the covers. Similar, a deep file is automatically composited for the user. If a multi-part file is opened, the first part will be provided.
For most code, it is suggested to use MultiPartInputFile and the API provided by the relevant part classes, but if only a simple API is needed, InputFile will certainly hide much of the complexity.
Definition at line 64 of file ImfInputFile.h.