qgraphicsitem에 개요가있는 이미지를 페인트하려고합니다. 이 이미지는 다른 해상도 (640x380, 1190 * 780, 320 * 410)를 가지며 이미지 너비와 높이에 관계없이 일정한 4px 윤곽선을 그려야합니다. 나는 이미지 지오메트리의 백분율을 취하려고했지만 윤곽이 바뀌는 이미지의 다른 크기에 대해 노력했습니다. 고해상도의 경우 얇게 보이고 작은 값의 얇은 선을 나타냅니다. 다른 이미지 해상도로 qgraphicsitem에 이미지 개요 추가
QFont segoeFont("Segoe Regular");
segoeFont.setPointSize(10);
painter->setFont(segoeFont);
painter->setRenderHints(QPainter::TextAntialiasing);
painter->setBrush(QColor(69,69,69));
if(meIsSelected)
{
painter->setBrush(QColor(65, 167, 243));
QPen pen(QColor(65, 167, 243), 2);
pen.setCosmetic(true);
}
painter->drawRect (this->boundingRect());
painter->drawImage (QPoint(0,0), mePixmap);
내 boundingRect() .adjusted
반환 mePixmap.rect() (-4, -4, 4, 4); 당신이 일정한 4 픽셀 개요 및 화면 해상도는 당신이보고있는 것은 정확, 변화해야하는 경우
이 항목은 fitInview
void GraphicsView::resizeEvent(QResizeEvent *event)
{
QGraphicsView::resizeEvent(event);
fitInView(this->scene()->sceneRect(),Qt::KeepAspectRatio) ;
}
내 게시물을 내 코드로 편집했습니다. – Wagmare
게시 한 코드에서 painter-> setBrush를 호출 한 다음 펜을 만들고 페인터에 펜을 설정하지 않는다는 것을 보여줍니다. 또한 이미지 주위에 + 4px 이미지의 boundingRect를 반환하는 경우 painter-> drawImage (QPoint (4,4), mePixmap)를 호출해야한다고 생각했을 것입니다. – TheDarkKnight