我想請問pyqt 利用QPixmap.grabWindow後如何轉字符串 或二進制??

jacklam 发布于 2013/08/27 08:21
阅读 364
收藏 0

@铂金小鸟 你好,想跟你请教个问题:

我想請問pyqt 利用QPixmap.grabWindow後如何轉字符串 或二進制??

由於我在寫一個遠程截圖程式想用QPixmap.grabWindow截圖後透過網絡

傳送,但不如何轉字符串或二進制

不知你可否解答這問題呢? 

謝謝!


加载中
0
铂金小鸟
铂金小鸟

没用过,不知道。

这是google的。我想你先把图片读成byte数组,不就可以通过网络发送了吗。


File imgFile = new File(fileName);
   BufferedImage img = ImageIO.read(imgFile);
   ByteArrayOutputStream bas = newByteArrayOutputStream();
   ImageIO.write(img, "jpg", bas);
   data = bas.toByteArray();


0
jacklam
jacklam

謝謝解答!! 

你這個是讀本機image file吧,我指的是QPixmap.grabWindow後直接轉bytes然後傳送

我剛剛找到一個方法可以解決到我的問題: 

image = QPixmap.grab(QApplication.desktop().winId()) 

block = QByteArray( )

stream = QDataStream(block, QIODevice.WriteOnly)

stream.__lshitf__(image) 

image數據在block裡, 再用block.data()就能轉兩二進制.

返回顶部
顶部