本文整理汇总了C++中QPolygon::takeFirst方法的典型用法代码示例。如果您正苦于以下问题:C++ QPolygon::takeFirst方法的具体用法?C++ QPolygon::takeFirst怎么用?C++ QPolygon::takeFirst使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QPolygon
的用法示例。
在下文中一共展示了QPolygon::takeFirst方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: qRgb
QImage * SeamCarver::extendWidth(int w_extent){
QPolygon *ligneBest;// = listLignesMostSuitable.first();
QRgb color1,color2;
QRgb ligneColor = qRgb(255,255,255);
int y_ligneBest;
QPoint pp;
QImage *dataRet = new QImage(imgOrigine->width(),imgOrigine->height()+2+NB_LIGNES_SEAM_CARVING,imgOrigine->format());
ImageResizer *resizer = new ImageResizer;
int delta_y,tmp_lect;
QList<int> list_y_val;
QListIterator<QPolygon *> qit(listLignesMostSuitable);
for (int x=0; x < imgOrigine->width() ; x++)
{
qit.toFront();
list_y_val.clear();
while (qit.hasNext())
{
ligneBest=qit.next();
list_y_val << (ligneBest->takeFirst()).y();
}
qSort(list_y_val);
list_y_val << imgOrigine->height() + 1000;
y_ligneBest = list_y_val.takeFirst();
// pp=ligneBest->takeFirst();
//y_ligneBest=pp.y();
delta_y=0;
for (int y=0; y < imgOrigine->height() ; y++) {
color1=imgOrigine->pixel(x,y);
if (y != y_ligneBest)
{
dataRet->setPixel(x,y+delta_y,color1);
} else
{
dataRet->setPixel(x,y_ligneBest+delta_y,ligneColor);
dataRet->setPixel(x,y_ligneBest+delta_y+2+NB_LIGNES_SEAM_CARVING,ligneColor);
color2=imgOrigine->pixel(x,y+1);
resizer->interpol(dataRet,x,y_ligneBest+1+delta_y,NB_LIGNES_SEAM_CARVING+1,color1,color2,false);
delta_y += NB_LIGNES_SEAM_CARVING+2;
}
}
}
return dataRet;
}