本文整理汇总了Python中PyQt4.Qt.QBuffer类的典型用法代码示例。如果您正苦于以下问题:Python QBuffer类的具体用法?Python QBuffer怎么用?Python QBuffer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QBuffer类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
def __call__(self, ok):
from PyQt4.Qt import QImage, QPainter, QByteArray, QBuffer
try:
if not ok:
raise RuntimeError('Rendering of HTML failed.')
de = self.page.mainFrame().documentElement()
pe = de.findFirst('parsererror')
if not pe.isNull():
raise ParserError(pe.toPlainText())
image = QImage(self.page.viewportSize(), QImage.Format_ARGB32)
image.setDotsPerMeterX(96*(100/2.54))
image.setDotsPerMeterY(96*(100/2.54))
painter = QPainter(image)
self.page.mainFrame().render(painter)
painter.end()
ba = QByteArray()
buf = QBuffer(ba)
buf.open(QBuffer.WriteOnly)
image.save(buf, 'JPEG')
self.data = str(ba.data())
except Exception as e:
self.exception = e
self.traceback = traceback.format_exc()
finally:
self.loop.exit(0)
示例2: get_data_uri
def get_data_uri():
buffer = QBuffer()
buffer.open(QIODevice.ReadWrite)
QPixmap.grabWindow(QApplication.desktop().winId()).save(buffer, 'jpg', 10)
return 'data:image/jpeg;base64,' + str(b64encode(buffer.data().data()), 'ascii')
示例3: OpenGazer
class OpenGazer(object):
def __init__(self, dir_pub, socket_opengazer_c):
self.ctx_zmq = zmq.Context()
self.socket = self.ctx_zmq.socket(zmq.PUB)
self.socket.bind(dir_pub)
self.socket_opengazer_c = socket_opengazer_c
self.app = QApplication(sys.argv)
self.buffer = QBuffer()
def get_screen(self):
self.buffer.open(QIODevice.ReadWrite)
QPixmap.grabWindow(QApplication.desktop().winId()).scaled(480, 240).save(self.buffer, 'jpeg', quality=50)
self.strio = StringIO()
self.strio.write(self.buffer.data())
self.buffer.close()
self.strio.seek(0)
def send_data(self):
my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
my_socket.bind(("", self.socket_opengazer_c))
print("socket creado")
while True:
data, addr = my_socket.recvfrom(self.socket_opengazer_c)
self.get_screen()
image_data = base64.b64encode(self.strio.getvalue())
data_to_send = {'screen': image_data, 'x': int(data.split(' ')[0]),
'y': int(data.split(' ')[1]), 'target': int(data.split(' ')[2])}
message = json.dumps(data_to_send)
self.socket.send(message)
#self.app.processEvents()
my_socket.close() # todo poner en finally
示例4: pixmap_to_data
def pixmap_to_data(pixmap, format='JPEG', quality=90):
'''
Return the QPixmap pixmap as a string saved in the specified format.
'''
ba = QByteArray()
buf = QBuffer(ba)
buf.open(QBuffer.WriteOnly)
pixmap.save(buf, format, quality=quality)
return bytes(ba.data())
示例5: image_to_data
def image_to_data(image): # {{{
ba = QByteArray()
buf = QBuffer(ba)
buf.open(QBuffer.WriteOnly)
if not image.save(buf, CACHE_FORMAT):
raise EncodeError('Failed to encode thumbnail')
ret = bytes(ba.data())
buf.close()
return ret
示例6: __init__
def __init__(self, dir_pub, socket_opengazer_c):
self.ctx_zmq = zmq.Context()
self.socket = self.ctx_zmq.socket(zmq.PUB)
self.socket.bind(dir_pub)
self.socket_opengazer_c = socket_opengazer_c
self.app = QApplication(sys.argv)
self.buffer = QBuffer()
示例7: _repr_png_
def _repr_png_(self):
self.show()
self.hide()
if not self.btn.visible:
display(self.btn)
self.btn.visible = True
mainExp = ImageExporter(self.plotItem)
self.image = mainExp.export(toBytes=True)
byte_array = QByteArray()
buffer = QBuffer(byte_array)
buffer.open(QIODevice.ReadWrite)
self.image.save(buffer, 'PNG')
buffer.close()
return bytes(byte_array)
示例8: to_png
def to_png(bmp):
# ImageMagick does not convert some bmp files correctly, while Qt does,
# so try Qt first. See for instance:
# https://bugs.launchpad.net/calibre/+bug/934167
# ImageMagick bug report:
# http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=20350
from PyQt4.Qt import QImage, QByteArray, QBuffer
i = QImage()
if i.loadFromData(bmp):
ba = QByteArray()
buf = QBuffer(ba)
buf.open(QBuffer.WriteOnly)
i.save(buf, "png")
return bytes(ba.data())
from calibre.utils.magick import Image
img = Image()
img.load(bmp)
return img.export("png")
示例9: get_screen_by_qt
def get_screen_by_qt(self, x1=None, y1=None, x2=None, y2=None):
from PyQt4.QtGui import QPixmap, QApplication
from PyQt4.Qt import QBuffer, QIODevice
import StringIO
app = QApplication(sys.argv)
_buffer = QBuffer()
_buffer.open(QIODevice.ReadWrite)
desktop = QApplication.desktop()
#width = desktop.screenGeometry().width()
#height = desktop.screenGeometry().height()
if x1 is None:
x1 = 0
if y1 is None:
y1 = 0
if x2 is None:
x2 = -1
else:
x2 -= x1
if y2 is None:
y2 = -1
else:
y2 -= y1
QPixmap.grabWindow(desktop.winId(), x1, y1, x2, y2) \
.save(_buffer, 'png')
strio = StringIO.StringIO()
strio.write(_buffer.data())
_buffer.close()
del app
strio.seek(0)
return Image.open(strio)
示例10: grab_to_buffer
def grab_to_buffer(self, buffer, file_type='png'):
if not self.app:
self.app = QApplication([])
qbuffer = QBuffer()
qbuffer.open(QIODevice.ReadWrite)
QPixmap.grabWindow(QApplication.desktop().winId()).save(qbuffer, file_type)
buffer.write(qbuffer.data())
qbuffer.close()
示例11: _repr_png_
def _repr_png_(self):
self._widget.hide()
QtGui.QApplication.processEvents()
try:
self.image = QImage(self._widget.viewRect().size().toSize(),
QImage.Format_RGB32)
except AttributeError:
self._widget.updateGL()
self.image = self._widget.grabFrameBuffer()
painter = QPainter(self.image)
self._widget.render(painter)
byte_array = QByteArray()
buffer = QBuffer(byte_array)
buffer.open(QIODevice.ReadWrite)
self.image.save(buffer, 'PNG')
buffer.close()
return bytes(byte_array)
示例12: getScreenByQt
def getScreenByQt(self):
from PyQt4.QtGui import QPixmap, QApplication
from PyQt4.Qt import QBuffer, QIODevice
import StringIO
app = QApplication(sys.argv)
buffer = QBuffer()
buffer.open(QIODevice.ReadWrite)
QPixmap.grabWindow(QApplication.desktop().winId()).save(buffer, 'png')
strio = StringIO.StringIO()
strio.write(buffer.data())
buffer.close()
del app
strio.seek(0)
return Image.open(strio)
示例13: peek_qt
def peek_qt(fmt="png"):
"""Takes a screenshot using QT."""
import sys
from PyQt4.QtGui import QPixmap, QApplication
from PyQt4.Qt import QBuffer, QIODevice
app = QApplication(sys.argv)
buff = QBuffer()
buff.open(QIODevice.ReadWrite)
QPixmap.grabWindow(QApplication.desktop().winId()).save(buff, fmt)
screenshot = Screenshot()
screenshot.addvalue(buff.data())
buff.close()
del app
screenshot.fmt = fmt
return screenshot