QImage 转 osg::image方法
osg::Image* CommonTools::covertImage(QImage image)
{
QImage glImage = QGLWidget::convertToGLFormat(image);
unsigned char* data = new unsigned char[glImage.byteCount()];
for (int i = 0; i < glImage.byteCount(); i++)
{
data[i] = glImage.bits()[i];
}
osg::Image *markerImage = new osg::Image();
markerImage->setImage(glImage.width(),glImage.height(), 1,4,GL_RGBA,GL_UNSIGNED_BYTE,data,osg::Image::USE_NEW_DELETE,1);
return markerImage;
}
QImage *qim = new QImage("C:/images/vice.png");
osg::Image* im = covertImage(*qim);