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< h; j++) {<br />                for(int i=0; i< w; i++) {<br />                        _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