在QT中,代码如下Image32 buf(width,height);//一个开源引擎库中自己定义的buf,可以先不管
........
........    
//qt中是这样实现的
QImage image((uchar*)buf.raw_data(),width,height,QImage::Format_ARGB32);
pix_=QPixmap::fromImage(image.rgbSwapped());
现在的问题是,在MFC中,怎样把这个buf给画出来?

解决方案 »

  1.   

    最直接的不就是BitBlt;
    再说,我想你的QImage中有有个函数showimage(QImage src,HDC hdc);这样的东西吧!
      

  2.   

    QImage没有showimage(QImage src,HDC hdc)这样的属性;
    pix_在qt中这样定义的,
    QPixmap pix_;
    这个是qt中的绘图事件,是通过QPainter来绘制的
    void Dialog::paintEvent(QPaintEvent *)
    {   
        QPainter pp(&pix_);
        pp.drawLine(lastPoint/scale,endPoint/scale);
        lastPoint = endPoint;
        QPainter painter(this);
        painter.scale(scale,scale); //进行放大操作
        painter.drawPixmap(0,0,pix);
    }BitBlt怎么绘啊,我对vc下的绘图也不是很了解
      

  3.   

    已经解决了
    用BitBlt,弄了两天,原来的图绘出来有错,检查了下,原来前边的参数有错
    谢谢了