Also there is some experiment about how to get image data from PyQt to C/C++ via SIP. Must let the method receive void*<br /><br />void Word::addColor(void *d)<br />{<br />    unsigned char* bits = (unsigned char *)d;<br /><br />       for(int j=0; j< _img_h; j++) {<br />           for(int i=0; i< _img_w; i++) {<br />                   <br />                    _color[(j*_img_w+i)*4] = *bits/255.f;//Blue<br />                 bits++;<br />                     _color[(j*_img_w+i)*4+1] = *bits/255.f;//Green<br />                      bits++;<br />                     _color[(j*_img_w+i)*4+2] = *bits/255.f;//Red<br />                        bits++;<br />                     _color[(j*_img_w+i)*4+3] = *bits/255.f;//Alpha<br />                      bits++;<br />                     <br />            }<br />   }<br />}<br /><br />I convert the unsigned char array into a float array. In python<br /><br />self.a.addColor(image.bits());<br /><br />Seems it is working.<br /><br />zhang <br /><br />On Aug 25, 2010 2:06am, zhangmdev@gmail.com wrote:<br />> Hi,<br />> <br />> I tried SIP to do the pixel manipulation in C/C++. Word is the class I adopted from SIP hello world example. Must have a method return void*<br />> <br />> void *Word::display()<br />> {<br />>      for(int j=0; j          for(int i=0; i                  _data[(j*w+i)*4] = 127;//Blue<br />>                   _data[(j*w+i)*4+1] = 127;//Green<br />>                        _data[(j*w+i)*4+2] = 255*_red;//Red<br />>                     _data[(j*w+i)*4+3] = 0;//Alpha<br />>                  <br />>                }<br />>       }<br />>       return _data;<br />> }<br />> <br />> actually it returns char* _data, the pixels. I found the order of color is a bit interesting, first the Blue, second is Green, third is Red, then Alpha. The pointer will be sip.voidptr In python, I think.<br />> <br />> image = QImage(self.a.display() , w, h, QtGui.QImage.Format_RGB32)<br />> painter.drawImage(0, 0, image)<br />> <br />> Now the speed is quite interactive. <br />> <br />> zhang