int KQtTester::none() { CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect()); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::createInkPaths() { QPainterPath ellPath; ellPath.addEllipse(100, 100, 200, 200); CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) { const PathList& paths = helper::createInkPath(ellPath, 4, 36); } timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::colorKey() { CTimer timer; QImageEffects effets; effets.setColorKey(g_img.pixel(0, 0)); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::watermark() { CTimer timer; QImageEffects effets; effets.setBrightness(0.7); effets.setContrast(0.3); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::gray() { CTimer timer; QImageEffects effets; //effets.setRecolor(255, 255, 255); effets.setDuotone(g_black, g_white); timer.Start(); //#pragma omp parallel for for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::createInkPolygons() { QPainterPath ellPath; ellPath.addEllipse(100, 100, 200, 200); CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) { const PolygonList& polys = helper::createInkPolygons(ellPath, 4, 36); if (polys.size() < 0) //will never happends! break; } timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::brown() { CTimer timer; QImageEffects effets; //effets.setRecolor(245, 228, 208); effets.setDuotone(0xff000000, qRgba(245, 228, 208, 255)); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::contrast() { CTimer timer; QImageEffects effets; //effets.m_contrast = 2.5; effets.setContrast(2.5); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::brightness() { CTimer timer; QImageEffects effets; //effets.m_brightness = 0.4; effets.setBrightness(0.4); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::darkBlue() { CTimer timer; QImageEffects effets; //effets.setRecolor(160, 198, 255); effets.setDuotone(g_black, qRgba(160, 198, 255, 255)); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::lightBlue() { CTimer timer; QImageEffects effets; //effets.setRecolor(217, 169, 110, 38, 86, 145); effets.setDuotone(qRgba(38, 86, 145, 255), g_white); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::bilevel() { CTimer timer; QImageEffects effets; //effets.m_recolorType = QImageEffects::Recolor_Bilevel50Percent; effets.setBilevel(0.5); timer.Start(); for (int i = 0; i < g_nTimes; i++) m_pPainter->drawImage(g_img.rect(), g_img, g_img.rect(), &effets); timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::drawInkPaths() { QPainterPath ellPath; ellPath.addEllipse(100, 100, 200, 200); const PathList& paths = helper::createInkPath(ellPath, 4, 36); const int nCount = paths.size(); CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) { for (int i = 0; i < nCount; i++) m_pPainter->fillPath(paths.at(i), Qt::yellow); } timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::addPolygonsToPath() { QPainterPath ellPath; ellPath.addEllipse(100, 100, 200, 200); const PolygonList& polys = helper::createInkPolygons(ellPath, 4, 36); const int nCount = polys.size(); CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) { QPainterPath path; for (int i = 0; i < nCount; i++) path.addPolygon(polys.at(i)); } timer.Stop(); return timer.ElapsedMsec(); }
int KQtTester::drawInkPolygons() { QPainterPath ellPath; ellPath.addEllipse(100, 100, 200, 200); const PolygonList& polys = helper::createInkPolygons(ellPath, 4, 36); const int nCount = polys.size(); CTimer timer; timer.Start(); for (int i = 0; i < g_nTimes; i++) { QPainterPath path; path.setFillRule(Qt::WindingFill); for (int i = 0; i < nCount; i++) path.addPolygon(polys.at(i)); m_pPainter->fillPath(path, Qt::yellow); } timer.Stop(); return timer.ElapsedMsec(); }