首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将QPixmap设置为texture

将QPixmap设置为texture
EN

Stack Overflow用户
提问于 2013-10-28 18:23:37
回答 1查看 639关注 0票数 1

我从网络收到一个包含PNG文件的字节数组。我需要将其设置为像素图,并将其设置为我的QGlWidget的纹理。当我运行下面的程序时,pixmap处于调试模式,不包含任何内容。但是,bytes包含从网络接收到的整个字节数组。

代码语言:javascript
复制
void MainWindow::dataFromServer(QByteArray bytes)
{
//    QByteArray bytes;
    QBuffer    buffer(&bytes);

    QPixmap pixmap;
//    pixmap = QPixmap::grabWidget(this);

    buffer.open(QIODevice::WriteOnly);

    pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format

    emit sendPixmapToWidget(pixmap);
}

这里我将像素映射设置为texture:

代码语言:javascript
复制
void GlWidget::pixmapCatchFromForm(QPixmap pixmap)
{
    deleteTexture(texture);

//    image->loadFromData(bytes, "PNG");

    texture = bindTexture(pixmap);

    qDebug() << texture; // returns 1

    updateGL();
}
EN

回答 1

Stack Overflow用户

发布于 2013-10-29 21:20:55

QPixmap::save(..)QPixmap的内容保存到缓冲区,你肯定想用QPixmap::loadFromData(..)做相反的事情吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19632280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档