git-svn-id: http://svn.osgeo.org/qgis/trunk@12632 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
jef 2009-12-28 14:04:16 +00:00
parent 35868957a8
commit 49448c3fa8
4 changed files with 35 additions and 6 deletions

View File

@ -165,7 +165,22 @@ void QgsGraduatedSymbolRenderer::renderFeature( QgsRenderContext &renderContext,
oldName = theSymbol->pointSymbolName();
theSymbol->setNamedPointSymbol( name );
}
*img = theSymbol->getPointSymbolAsImage( renderContext.scaleFactor(), selected, mSelectionColor, fieldScale,
double scale = renderContext.scaleFactor();
if ( theSymbol->pointSizeUnits() )
{
/* Calc scale (still not nice) */
QgsPoint point;
point = renderContext.mapToPixel().transform( 0, 0 );
double x1 = point.x();
point = renderContext.mapToPixel().transform( 1000, 0 );
double x2 = point.x();
scale *= ( x2 - x1 ) * 0.001;
}
*img = theSymbol->getPointSymbolAsImage( scale, selected, mSelectionColor, fieldScale,
rotation, renderContext.rasterScaleFactor(), opacity );
if ( !oldName.isNull() )

View File

@ -141,7 +141,21 @@ void QgsUniqueValueRenderer::renderFeature( QgsRenderContext &renderContext, Qgs
symbol->setNamedPointSymbol( name );
}
*img = symbol->getPointSymbolAsImage( renderContext.scaleFactor(), selected, mSelectionColor,
double scale = renderContext.scaleFactor();
if ( symbol->pointSizeUnits() )
{
/* Calc scale (still not nice) */
QgsPoint point;
point = renderContext.mapToPixel().transform( 0, 0 );
double x1 = point.x();
point = renderContext.mapToPixel().transform( 1000, 0 );
double x2 = point.x();
scale *= ( x2 - x1 ) * 0.001;
}
*img = symbol->getPointSymbolAsImage( scale, selected, mSelectionColor,
fieldScale, rotation, renderContext.rasterScaleFactor(),
opacity );
if ( !oldName.isNull() )

View File

@ -300,7 +300,7 @@ void QgsMarkerCatalogue::hardMarker( QPainter * thepPainter, int imageSize, QStr
// width is necessary.
double r = s / 2; // get half the size of the figure to be rendered (the radius)
QgsDebugMsg( QString( "Hard marker size %1" ).arg( s ) );
QgsDebugMsgLevel( QString( "Hard marker size %1" ).arg( s ), 3 );
// Find out center coordinates of the QImage to draw on.
double x_c = ( double )( imageSize / 2 ) + 0.5; // add 1/2 pixel for proper rounding when the figure's coordinates are added
@ -309,7 +309,7 @@ void QgsMarkerCatalogue::hardMarker( QPainter * thepPainter, int imageSize, QStr
thepPainter->setPen( pen );
thepPainter->setBrush( brush );
QgsDebugMsg( QString( "Hard marker radius %1" ).arg( r ) );
QgsDebugMsgLevel( QString( "Hard marker radius %1" ).arg( r ), 3 );
// If radius is 0, draw a circle, so it wont disappear.
if ( name == "circle" || r < 1 )

View File

@ -411,9 +411,9 @@ QImage QgsSymbol::getPointSymbolAsImage( double widthScale, bool selected, QColo
}
else
{
QgsDebugMsg( QString( "marker:%1 mPointSize:%2 mPointSizeUnits:%3 scale:%4 widthScale:%5 rasterScaleFactor:%6 opacity:%7" )
QgsDebugMsgLevel( QString( "marker:%1 mPointSize:%2 mPointSizeUnits:%3 scale:%4 widthScale:%5 rasterScaleFactor:%6 opacity:%7" )
.arg( mPointSymbolName ).arg( mSize ).arg( mSizeInMapUnits ? "true" : "false" )
.arg( scale ).arg( widthScale ).arg( rasterScaleFactor ).arg( opacity ) );
.arg( scale ).arg( widthScale ).arg( rasterScaleFactor ).arg( opacity ), 3 );
preRotateImage = QgsMarkerCatalogue::instance()->imageMarker(