39
void KisImagePatch::drawMe(QPainter &gc,
40
const QRectF &dstRect,
41
QPainter::RenderHints renderHints)
44
gc.setCompositionMode(QPainter::CompositionMode_Source);
45
gc.setRenderHints(renderHints, true);
46
gc.drawImage(dstRect, m_image, m_interestRect);
50
* Just for debugging purposes
52
qreal scaleX = dstRect.width() / m_interestRect.width();
53
qreal scaleY = dstRect.height() / m_interestRect.height();
54
dbgRender << "## PATCH.DRAWME #####################";
55
dbgRender << ppVar(scaleX) << ppVar(scaleY);
56
dbgRender << ppVar(m_patchRect);
57
dbgRender << ppVar(m_interestRect);
58
dbgRender << ppVar(dstRect);
59
dbgRender << "## EODM #############################";
62
#define ceiledSize(sz) QSize(ceil((sz).width()), ceil((sz).height()))
64
void KisImagePatch::prescaleWithBlitz(QRectF dstRect)
66
qreal scaleX = dstRect.width() / m_interestRect.width();
67
qreal scaleY = dstRect.height() / m_interestRect.height();
69
QSize newImageSize = QSize(ceil(m_image.width() * scaleX),
70
ceil(m_image.height() * scaleY));
72
// Calculating new _aligned_ scale
73
scaleX = qreal(newImageSize.width()) / m_image.width();
74
scaleY = qreal(newImageSize.height()) / m_image.height();
78
scaleRect(m_interestRect, scaleX, scaleY);
80
m_image = Blitz::smoothScale(m_image,
82
Qt::IgnoreAspectRatio);
84
dbgRender << "## PATCH.PRESCALEBLITZ ############";
85
dbgRender << ppVar(scaleX) << ppVar(scaleY);
86
dbgRender << ppVar(newImageSize);
87
dbgRender << "## EOB ############################";