openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] reading a random tile


From: Barnaby Robson
Subject: [Openexr-devel] reading a random tile
Date: Tue, 25 Oct 2005 12:43:08 -0700

Could I get some help on reading a single random tile ?
 
The origin of the tile is (x,y)
I am setting up my variables like this. (inTiledFile is a pointer to an Imf::TiledRgbaInputFile)
 
    int dwWidth = inTiledFile->dataWindow().max.x - inTiledFile->dataWindow().min.x + 1;
    int dwHeight = inTiledFile->dataWindow().max.y - inTiledFile->dataWindow().min.y + 1;
 
    int dx = inTiledFile->dataWindow().min.x;
    int dy = inTiledFile->dataWindow().min.y;
 
    int xTile = x / inTiledFile->tileXSize();
    int yTile = y / inTiledFile->tileYSize();
 
I only want to assign enough memory for one tile.
 
    Imf::Array2D<Imf::Rgba> frameBuffer;
    frameBuffer.resizeErase(inTiledFile->tileYSize(), inTiledFile->tileXSize());
 
I am succesful in reading the first tile with this code.
 
    inTiledFile->setFrameBuffer (&frameBuffer[-dy][-dx], 1, inTiledFile->tileXSize());
    inTiledFile->readTile(0,0);
 
But I am not successful reading any other tiles with things like this
 
    inTiledFile->setFrameBuffer (&frameBuffer[-dy][-dx] - x - y * dwWidth, 1, inTiledFile->tileXSize());
    inTiledFile->readTile(0,0);
 
or things like this
 
    inTiledFile->setFrameBuffer (&frameBuffer[-dy][-dx], 1, inTiledFile->tileXSize());
    inTiledFile->readTile(yTile,xTile);
 
 
Does anyone know what the right thing to do is ?
 
Thanks
 
barnaby
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]