0

QImage for QTを使用してカスタム画像をレンダリングしようとしていますが、今のところコードでどこにも到達していません。ファイルから画像をロードしたくありません。QImageクラスとQBrushクラス、およびこれに伴う他のすべてのものを使用したいと思います。私はAPIでのレンダリングが得意ではありませんが、私を動かすための助けをいただければ幸いです。

これが私が得たものです。私が実際に与えられているのは、画像'm_pImage'オブジェクトだけです...

m_pImage = new QImage(ImageWidth, ImageHeight, QImage::Format_Indexed8);
m_pImage->setColorCount(255);

また、私はそのようなものをいくつか追加しようとしましたが、この部分は機能していません:

QBrush* br = new QBrush(Qt::gray, Qt::Dense3Pattern);
br->setTextureImage(*m_pImage);
QPainter* paint = new QPainter(m_pImage);
paint->setPen(Qt::NoPen);
paint->setBrush(*br);
paint->drawRect(0, 0, ImageWidth, ImageHeight);
for(int i = 0; i < m_ulImageWidth; i++)
{
    for(int j = 0; j < ImageHeight; j++)
    {
        m_pImage->setPixel(i, j, qRgb(255, 255, 255));
    }
}

背景画像を設定することをお勧めしますが、どちらの場合も、この画像を取得してブラシスタイルのDense3Patternをレンダリングするのが最適です。

これが私がQTリファレンスを使用しているドキュメントへのリンクです

前もって感謝します!!

4

1 に答える 1

2

ええと、私は今私の問題を見ています。

そのため、使用するすべての色をcolorTableに追加する必要がありました。その後、QImage :: setPixel(...)を使用して描画を開始することができました。

for(int i = 0; i < 255; i++)
{
    m_pImage->setColor(i, qRgb(i, i, i));
}

私はそれがすべてだったと思います!

于 2012-09-28T17:57:54.260 に答える