カスタマイズした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