📄 imfcrgbafile.cpp
字号:
intImfHeaderSetV3iAttribute (ImfHeader *hdr, const char name[], int x, int y, int z){ try { V3i v (x, y, z); if (header(hdr)->find(name) == header(hdr)->end()) header(hdr)->insert (name, Imf::V3iAttribute (v)); else header(hdr)->typedAttribute<Imf::V3iAttribute>(name).value() = v; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderV3iAttribute (const ImfHeader *hdr, const char name[], int *x, int *y, int *z){ try { const V3i &v = header(hdr)->typedAttribute<Imf::V3iAttribute>(name).value(); *x = v.x; *y = v.y; *z = v.z; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderSetV3fAttribute (ImfHeader *hdr, const char name[], float x, float y, float z){ try { V3f v (x, y, z); if (header(hdr)->find(name) == header(hdr)->end()) header(hdr)->insert (name, Imf::V3fAttribute (v)); else header(hdr)->typedAttribute<Imf::V3fAttribute>(name).value() = v; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderV3fAttribute (const ImfHeader *hdr, const char name[], float *x, float *y, float *z){ try { const V3f &v = header(hdr)->typedAttribute<Imf::V3fAttribute>(name).value(); *x = v.x; *y = v.y; *z = v.z; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderSetM33fAttribute (ImfHeader *hdr, const char name[], const float m[3][3]){ try { M33f m3 (m); if (header(hdr)->find(name) == header(hdr)->end()) header(hdr)->insert (name, Imf::M33fAttribute (m3)); else header(hdr)->typedAttribute<Imf::M33fAttribute>(name).value() = m3; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderM33fAttribute (const ImfHeader *hdr, const char name[], float m[3][3]){ try { const M33f &m3 = header(hdr)->typedAttribute<Imf::M33fAttribute>(name).value(); m[0][0] = m3[0][0]; m[0][1] = m3[0][1]; m[0][2] = m3[0][2]; m[1][0] = m3[1][0]; m[1][1] = m3[1][1]; m[1][2] = m3[1][2]; m[2][0] = m3[2][0]; m[2][1] = m3[2][1]; m[2][2] = m3[2][2]; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderSetM44fAttribute (ImfHeader *hdr, const char name[], const float m[4][4]){ try { M44f m4 (m); if (header(hdr)->find(name) == header(hdr)->end()) header(hdr)->insert (name, Imf::M44fAttribute (m4)); else header(hdr)->typedAttribute<Imf::M44fAttribute>(name).value() = m4; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfHeaderM44fAttribute (const ImfHeader *hdr, const char name[], float m[4][4]){ try { const M44f &m4 = header(hdr)->typedAttribute<Imf::M44fAttribute>(name).value(); m[0][0] = m4[0][0]; m[0][1] = m4[0][1]; m[0][2] = m4[0][2]; m[0][3] = m4[0][3]; m[1][0] = m4[1][0]; m[1][1] = m4[1][1]; m[1][2] = m4[1][2]; m[1][3] = m4[1][3]; m[2][0] = m4[2][0]; m[2][1] = m4[2][1]; m[2][2] = m4[2][2]; m[2][3] = m4[2][3]; m[3][0] = m4[3][0]; m[3][1] = m4[3][1]; m[3][2] = m4[3][2]; m[3][3] = m4[3][3]; return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}ImfOutputFile * ImfOpenOutputFile (const char name[], const ImfHeader *hdr, int channels){ try { return (ImfOutputFile *) new Imf::RgbaOutputFile (name, *header(hdr), Imf::RgbaChannels (channels)); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfCloseOutputFile (ImfOutputFile *out){ try { delete outfile (out); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfOutputSetFrameBuffer (ImfOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride){ try { outfile(out)->setFrameBuffer ((Imf::Rgba *)base, xStride, yStride); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfOutputWritePixels (ImfOutputFile *out, int numScanLines){ try { outfile(out)->writePixels (numScanLines); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfOutputCurrentScanLine (const ImfOutputFile *out){ return outfile(out)->currentScanLine();}const ImfHeader *ImfOutputHeader (const ImfOutputFile *out){ return (const ImfHeader *) &outfile(out)->header();}intImfOutputChannels (const ImfOutputFile *out){ return outfile(out)->channels();}ImfTiledOutputFile * ImfOpenTiledOutputFile (const char name[], const ImfHeader *hdr, int channels, int xSize, int ySize, int mode, int rmode){ try { return (ImfTiledOutputFile *) new Imf::TiledRgbaOutputFile (name, *header(hdr), Imf::RgbaChannels (channels), xSize, ySize, Imf::LevelMode (mode), Imf::LevelRoundingMode (rmode)); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfCloseTiledOutputFile (ImfTiledOutputFile *out){ try { delete outfile (out); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfTiledOutputSetFrameBuffer (ImfTiledOutputFile *out, const ImfRgba *base, size_t xStride, size_t yStride){ try { outfile(out)->setFrameBuffer ((Imf::Rgba *)base, xStride, yStride); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfTiledOutputWriteTile (ImfTiledOutputFile *out, int dx, int dy, int lx, int ly){ try { outfile(out)->writeTile (dx, dy, lx, ly); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfTiledOutputWriteTiles (ImfTiledOutputFile *out, int dxMin, int dxMax, int dyMin, int dyMax, int lx, int ly){ try { outfile(out)->writeTiles (dxMin, dxMax, dyMin, dyMax, lx, ly); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}const ImfHeader *ImfTiledOutputHeader (const ImfTiledOutputFile *out){ return (const ImfHeader *) &outfile(out)->header();}intImfTiledOutputChannels (const ImfTiledOutputFile *out){ return outfile(out)->channels();}intImfTiledOutputTileXSize (const ImfTiledOutputFile *out){ return outfile(out)->tileXSize();}intImfTiledOutputTileYSize (const ImfTiledOutputFile *out){ return outfile(out)->tileYSize();}intImfTiledOutputLevelMode (const ImfTiledOutputFile *out){ return outfile(out)->levelMode();}intImfTiledOutputLevelRoundingMode (const ImfTiledOutputFile *out){ return outfile(out)->levelRoundingMode();}ImfInputFile * ImfOpenInputFile (const char name[]){ try { return (ImfInputFile *) new Imf::RgbaInputFile (name); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfCloseInputFile (ImfInputFile *in){ try { delete infile (in); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfInputSetFrameBuffer (ImfInputFile *in, ImfRgba *base, size_t xStride, size_t yStride){ try { infile(in)->setFrameBuffer ((Imf::Rgba *) base, xStride, yStride); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfInputReadPixels (ImfInputFile *in, int scanLine1, int scanLine2){ try { infile(in)->readPixels (scanLine1, scanLine2); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}const ImfHeader *ImfInputHeader (const ImfInputFile *in){ return (const ImfHeader *) &infile(in)->header();}intImfInputChannels (const ImfInputFile *in){ return infile(in)->channels();}const char *ImfInputFileName (const ImfInputFile *in){ return infile(in)->fileName();}ImfTiledInputFile * ImfOpenTiledInputFile (const char name[]){ try { return (ImfTiledInputFile *) new Imf::TiledRgbaInputFile (name); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfCloseTiledInputFile (ImfTiledInputFile *in){ try { delete infile (in); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}int ImfTiledInputSetFrameBuffer (ImfTiledInputFile *in, ImfRgba *base, size_t xStride, size_t yStride){ try { infile(in)->setFrameBuffer ((Imf::Rgba *) base, xStride, yStride); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfTiledInputReadTile (ImfTiledInputFile *in, int dx, int dy, int lx, int ly){ try { infile(in)->readTile (dx, dy, lx, ly); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}intImfTiledInputReadTiles (ImfTiledInputFile *in, int dxMin, int dxMax, int dyMin, int dyMax, int lx, int ly){ try { infile(in)->readTiles (dxMin, dxMax, dyMin, dyMax, lx, ly); return 1; } catch (const std::exception &e) { setErrorMessage (e); return 0; }}const ImfHeader *ImfTiledInputHeader (const ImfTiledInputFile *in){ return (const ImfHeader *) &infile(in)->header();}intImfTiledInputChannels (const ImfTiledInputFile *in){ return infile(in)->channels();}const char *ImfTiledInputFileName (const ImfTiledInputFile *in){ return infile(in)->fileName();}intImfTiledInputTileXSize (const ImfTiledInputFile *in){ return infile(in)->tileXSize();}intImfTiledInputTileYSize (const ImfTiledInputFile *in){ return infile(in)->tileYSize();}intImfTiledInputLevelMode (const ImfTiledInputFile *in){ return infile(in)->levelMode();}intImfTiledInputLevelRoundingMode (const ImfTiledInputFile *in){ return infile(in)->levelRoundingMode();}ImfLut *ImfNewRound12logLut (int channels){ try { return (ImfLut *) new Imf::RgbaLut (Imf::round12log, Imf::RgbaChannels (channels)); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}ImfLut *ImfNewRoundNBitLut (unsigned int n, int channels){ try { return (ImfLut *) new Imf::RgbaLut (Imf::roundNBit (n), Imf::RgbaChannels (channels)); } catch (const std::exception &e) { setErrorMessage (e); return 0; }}voidImfDeleteLut (ImfLut *lut){ delete (Imf::RgbaLut *) lut;}voidImfApplyLut (ImfLut *lut, ImfRgba *data, int nData, int stride){ ((Imf::RgbaLut *)lut)->apply ((Imf::Rgba *)data, nData, stride);}const char * ImfErrorMessage (){ return errorMessage;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -