gpt4 book ai didi

c++ - 如何使用 Qt QImage 和 QBrush 渲染自定义背景?

转载 作者:行者123 更新时间:2023-11-28 03:31:02 24 4
gpt4 key购买 nike

我正在尝试使用 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

提前致谢!

最佳答案

呃,我现在明白我的问题了。

所以我需要将我想使用的所有颜色添加到我的 colorTable 中。在我这样做之后,我就可以使用 QImage::setPixel(...) 开始绘图了。

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

我想这就是全部!

关于c++ - 如何使用 Qt QImage 和 QBrush 渲染自定义背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12643997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com