0

我正在尝试使用 QImage 为 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 Reference的文档的链接

提前致谢!!

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 回答