{
Q_UNUSED(pEvent);
double wscale = 1.0;
double hscale = 1.0;
double pixwidth = static_cast<double>(m_image.width());
double pixheight = static_cast<double>(m_image.height());
double showwidth = static_cast<double>(width());
double showheight = static_cast<double>(height());
double Wscalerate = pixwidth / showwidth;
double Hscalerate = pixheight / showheight;
double compare = (Wscalerate > Hscalerate ? Wscalerate : Hscalerate);
QRect _rect( showwidth/2.0 - pixwidth/compare/2.0,
showheight/2.0- pixheight/compare/2.0,
pixwidth/compare,
pixheight/compare);
QRect _midrect( (showwidth/2.0-pixwidth/2.0),
(showheight/2.0-pixheight/2.0),
pixwidth,
pixheight );
QPainter painter(this);
painter.save();
painter.translate(showwidth/2.0, (showheight/2.0));
painter.scale(wscale, hscale);
painter.translate(-(showwidth/2), -(showheight/2.0));
if (compare < 1.0)
painter.drawImage(_midrect, m_image);
else
painter.drawImage(_rect, m_image);
painter.restore();
//QPainter p(this);
//p.drawImage((SCREEN_WIDTH-m_image.width())/2, (SCREEN_HEIGHT-m_image.height())/2,m_image);
}