사용자 정의 된 QWidget paintEvent 메소드에서 원 모양의 이미지 아이콘이있는 원을 그립니다. 원본 이미지가 파일에서로드 된 다음 QPainter 구성을 사용하여 자동으로 원으로 캐스팅됩니다. 그것을하는 방법? 고맙습니다!이미지 파일에서 원 아이콘을 만드는 방법은 무엇입니까?
void DotGraphView::paintNodes(QPainter & painter)
{
painter.setPen(Qt::blue);
painter.drawEllipse(x, y, 36, 36);
QPixmap icon("./image.png");
QImage fixedImage(64, 64, QImage::Format_ARGB32_Premultiplied);
QPainter imgPainter(&fixedImage);
imgPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);
imgPainter.drawPixmap(0, 0, 64, 64, icon);
imgPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);
imgPainter.setBrush(Qt::transparent);
imgPainter.drawEllipse(32, 32, 30, 30);
imgPainter.end();
painter.drawPixmap(x, y, 64, 64, QPixmap::fromImage(fixedImage));
}
위의 코드는 작동하지 않습니다. 출력 디스플레이는 원 모양의 이미지가 아닙니다.
어떻게 작동하지 않는지 자세히 설명해주십시오. 그것은 컴파일합니까? 그것은 전혀 실행됩니까? 그것은 잘못된 출력을 생산합니까? 어떤 식으로? –
출력 디스플레이가 원 모양의 이미지가 아닙니다. – allenchen
정확히 무엇입니까? 스크린 샷을 업로드 할 수 있습니까? – Cydonia7