Skip to content

Commit 8c327ed

Browse files
committed
Add asImage method for QgsSymbol
1 parent 11be64d commit 8c327ed

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

python/core/symbology-ng/qgssymbolv2.sip

+2
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ class QgsSymbolV2
8585
//! @note customContext parameter added in 2.6
8686
void drawPreviewIcon( QPainter* painter, QSize size, QgsRenderContext* customContext = 0 );
8787

88+
QImage asImage( QSize size, QgsRenderContext* customContext = 0 );
89+
8890
QImage bigSymbolPreviewImage();
8991

9092
QString dump() const;

src/core/symbology-ng/qgssymbolv2.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,19 @@ void QgsSymbolV2::drawPreviewIcon( QPainter* painter, QSize size, QgsRenderConte
308308
}
309309
}
310310

311+
QImage QgsSymbolV2::asImage( QSize size, QgsRenderContext* customContext )
312+
{
313+
QImage image( size , QImage::Format_ARGB32_Premultiplied );
314+
image.fill( 0 );
315+
316+
QPainter p( &image );
317+
p.setRenderHint( QPainter::Antialiasing );
318+
319+
drawPreviewIcon( &p, size, customContext );
320+
321+
return image;
322+
}
323+
311324

312325
QImage QgsSymbolV2::bigSymbolPreviewImage()
313326
{

src/core/symbology-ng/qgssymbolv2.h

+2
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ class CORE_EXPORT QgsSymbolV2
110110
//! @note customContext parameter added in 2.6
111111
void drawPreviewIcon( QPainter* painter, QSize size, QgsRenderContext* customContext = 0 );
112112

113+
QImage asImage( QSize size, QgsRenderContext* customContext = 0 );
114+
113115
QImage bigSymbolPreviewImage();
114116

115117
QString dump() const;

0 commit comments

Comments
 (0)