Skip to content

Commit

Permalink
Use small overlap between adjacent tiles
Browse files Browse the repository at this point in the history
  • Loading branch information
mhugent committed Dec 29, 2011
1 parent 5344b2a commit 2e371eb
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/core/raster/qgsmultibandcolorrenderer.cpp
Expand Up @@ -146,7 +146,7 @@ void QgsMultiBandColorRenderer::draw( QPainter* p, QgsRasterViewPort* viewPort,

if ( mResampler ) //resample to output resolution
{
QImage dstImg( nCols / oversamplingX, nRows / oversamplingY, QImage::Format_ARGB32_Premultiplied );
QImage dstImg( nCols / oversamplingX + 1.0, nRows / oversamplingY + 1.0, QImage::Format_ARGB32_Premultiplied );
mResampler->resample( img, dstImg );
p->drawImage( tlPoint, dstImg );
}
Expand Down
11 changes: 10 additions & 1 deletion src/core/raster/qgspalettedrasterrenderer.cpp
Expand Up @@ -129,9 +129,18 @@ void QgsPalettedRasterRenderer::draw( QPainter* p, QgsRasterViewPort* viewPort,
//draw image
if ( mResampler ) //resample to output resolution
{
QImage dstImg( nCols / oversamplingX, nRows / oversamplingY, QImage::Format_ARGB32_Premultiplied );
QImage dstImg( nCols / oversamplingX + 1.0, nRows / oversamplingY + 1.0, QImage::Format_ARGB32_Premultiplied );
mResampler->resample( img, dstImg );
p->drawImage( tlPoint, dstImg );

//debug output
qWarning("*************************************************");
qWarning("topleft:");
qWarning( QString::number( tlPoint.x() ).toLocal8Bit().data() );
qWarning( QString::number( tlPoint.y() ).toLocal8Bit().data() );
qWarning("width/height:");
qWarning( QString::number( nCols / oversamplingX ).toLocal8Bit().data() );
qWarning( QString::number( nRows / oversamplingY ).toLocal8Bit().data() );
}
else //use original image
{
Expand Down
4 changes: 2 additions & 2 deletions src/core/raster/qgsrasterrenderer.cpp
Expand Up @@ -71,8 +71,8 @@ void QgsRasterRenderer::startRasterRead( int bandNumber, QgsRasterViewPort* view
int totalMemoryUsage = pInfo.nCols * pInfo.nRows * mProvider->dataTypeSize( bandNumber );
int parts = totalMemoryUsage / 100000 + 1;
int nPartsPerDimension = sqrt( parts );
pInfo.nColsPerPart = floor( pInfo.nCols / nPartsPerDimension / oversamplingX ) * oversamplingX;
pInfo.nRowsPerPart = floor( pInfo.nRows / nPartsPerDimension / oversamplingY ) * oversamplingY;
pInfo.nColsPerPart = pInfo.nCols / nPartsPerDimension;
pInfo.nRowsPerPart = pInfo.nRows / nPartsPerDimension;
pInfo.currentCol = 0;
pInfo.currentRow = 0;
pInfo.data = 0;
Expand Down

0 comments on commit 2e371eb

Please sign in to comment.