def sendLocation(self, jid, latitude, longitude, rotate): latitude = latitude[:10] longitude = longitude[:10] self._d("Capturing preview...") QPixmap.grabWindow(QApplication.desktop().winId()).save(WAConstants.CACHE_PATH+"/tempimg.png", "PNG") img = QImage(WAConstants.CACHE_PATH+"/tempimg.png") if rotate == "true": rot = QTransform() rot = rot.rotate(90) img = img.transformed(rot) if img.height() > img.width(): result = img.scaledToWidth(320,Qt.SmoothTransformation); result = result.copy(result.width()/2-50,result.height()/2-50,100,100); elif img.height() < img.width(): result = img.scaledToHeight(320,Qt.SmoothTransformation); result = result.copy(result.width()/2-50,result.height()/2-50,100,100); #result = img.scaled(96, 96, Qt.KeepAspectRatioByExpanding, Qt.SmoothTransformation); result.save( WAConstants.CACHE_PATH+"/tempimg2.jpg", "JPG" ); f = open(WAConstants.CACHE_PATH+"/tempimg2.jpg", 'r') stream = base64.b64encode(f.read()) f.close() os.remove(WAConstants.CACHE_PATH+"/tempimg.png") os.remove(WAConstants.CACHE_PATH+"/tempimg2.jpg") fmsg = WAXMPP.message_store.createMessage(jid); mediaItem = WAXMPP.message_store.store.Media.create() mediaItem.mediatype_id = WAConstants.MEDIA_TYPE_LOCATION mediaItem.remote_url = None mediaItem.preview = stream mediaItem.local_path ="%s,%s"%(latitude,longitude) mediaItem.transfer_status = 2 fmsg.content = QtCore.QCoreApplication.translate("WAEventHandler", "Location") fmsg.Media = mediaItem if fmsg.Conversation.type == "group": contact = WAXMPP.message_store.store.Contact.getOrCreateContactByJid(self.conn.jid) fmsg.setContact(contact); fmsg.setData({"status":0,"content":fmsg.content,"type":1}) WAXMPP.message_store.pushMessage(jid,fmsg) resultId = self.interfaceHandler.call("message_locationSend", (jid, latitude, longitude, stream)) k = Key(jid, True, resultId) fmsg.key = k.toString() fmsg.save()
def mouseReleaseEvent(self, event): self.rubberBand.hide() if self.havePressed == True: self.end = event.pos() self.hide() QPixmap.grabWindow(QApplication.desktop().winId(), self.origin.x(), self.origin.y(), self.end.x() - self.origin.x(), self.end.y() - self.origin.y()).save( 'C:/Users/Ta/screenshot_windowed.png', 'png')
def grabImg(self): self.idFrame += 1 wid = QApplication.desktop().winId() QPixmap.grabWindow(wid, self.screenArea.x, self.screenArea.y, self.screenArea.w, self.screenArea.h).save(self.buffer, 'png') strio = StringIO.StringIO() strio.write(self.buffer.data()) self.buffer.seek(0) strio.seek(0) pix = np.array(Image.open(strio)) pix = cv2.resize(pix, (0,0), fx=self.scale, fy=self.scale) real_color = cv2.cvtColor(pix, cv2.COLOR_BGR2RGB) return real_color
def grabImg(self): self.idFrame += 1 wid = QApplication.desktop().winId() QPixmap.grabWindow(wid, self.screenArea.x, self.screenArea.y, self.screenArea.w, self.screenArea.h).save(self.buffer, 'png') strio = StringIO.StringIO() strio.write(self.buffer.data()) self.buffer.seek(0) strio.seek(0) pix = np.array(Image.open(strio)) pix = cv2.resize(pix, (0, 0), fx=self.scale, fy=self.scale) real_color = cv2.cvtColor(pix, cv2.COLOR_BGR2RGB) return real_color
def shoot(): if( not isTokenCollected()): redirect_to_permission_page() #taking the screenshot filename = date.strftime('%Y-%m-%d_%H-%M-%S.jpg') p = QPixmap.grabWindow(QApplication.desktop().winId()) p.save(filename, 'jpg') upload_file_to_drive(filename)
def shoot(): if (not isTokenCollected()): redirect_to_permission_page() #taking the screenshot filename = date.strftime('%Y-%m-%d_%H-%M-%S.jpg') p = QPixmap.grabWindow(QApplication.desktop().winId()) p.save(filename, 'jpg') upload_file_to_drive(filename)
def capture_pixmap(x, y, width, height, hwnd=None): """ @param x int @param y int @param width int @param height int @param hwnd int @return QPixmap """ if width < OCR_MIN_WIDTH or height < OCR_MIN_HEIGHT: dwarn("skip image that is too small: %sx%s" % (width, height)) return if hwnd: from sakurakit import skwidgets return QPixmap.grabWindow(skwidgets.to_wid(hwnd), x, y, width, height) else: from PySide.QtCore import QCoreApplication qApp = QCoreApplication.instance() wid = qApp.desktop().winId() return QPixmap.grabWindow(wid, x, y, width, height)
def grabWindow(self, wid, x=0, y=0, width=-1, height=-1, **kwargs): """ @param wid WID @param* x int @param* y int @param* width int @param* height int @param* path unicode @param* format str @param* clipboard bool whether save to clipboard @param* quality int @return bool """ if not wid: return pm = QPixmap.grabWindow(skwidgets.to_wid(wid), x, y, width, height) return self.__d.savePixmap(pm, **kwargs)
def _get_screen_graphics ( self ): from facets.ui.toolkit import toolkit if self._screen_graphics is None: control = self.control pixmap = QPixmap.grabWindow( control.winId() ) self._sg_control = sg = toolkit().create_control( self ) sg._pixmap = pixmap dx, dy = self.size sg.bounds = ( 0, 0, dx, dy ) sg.set_event_handler( paint = self._screen_graphics_paint ) painter = painter_for( pixmap ) painter._control = sg.control self._screen_graphics = ( QtGraphics( painter, bitmap = pixmap ), 0, 0 ) return self._screen_graphics
def paintEvent(self, event): """@reimp @param event QPaintEvent """ hwnd = self.__d.wid if not hwnd: return wid = skwin.wid_from_hwnd(hwnd) pm = QPixmap.grabWindow(wid) if pm.isNull(): return sz = self.size() if sz != pm.size(): pm = pm.scaled(sz, Qt.KeepAspectRatio, Qt.SmoothTransformation) painter = QPainter(self) painter.drawPixmap(0, 0, pm)
def capture(self): app.processEvents() print "caught capture",('tmp_{}_{:'+self.fmt+'}.jpg').format(self.UID,self.capture_count) print "current fps",float(self.capture_count)/(time.time()-self.start_capture_time) if not self.snap_shots.queue.empty(): self.snap_shots.queue.get(0) arrow = QPixmap(self.arrow_icon); self.px = QPixmap.grabWindow(QApplication.desktop().winId()) painter = QPainter(self.px) painter.drawPixmap(QCursor.pos(), arrow) if(self.options.capture_area_sa.isChecked()): self.px2 = self.px.copy(self.options.sa_x.value(), self.options.sa_y.value(), self.options.sa_w.value(), self.options.sa_h.value()) else: self.px2 = self.px self.px2.save(('tmp_{}_{:'+self.fmt+'}.jpg').format(self.UID,self.capture_count), 'jpg') self.capture_count+=1
def screenshot_callback3(): window.show_presence_overview() screenshot = QPixmap.grabWidget(window) screenshot = QPixmap.grabWindow(QApplication.desktop().winId()) screenshot.save("screenshot-presence.png")
def screenshot_callback(): screenshot = QPixmap.grabWidget(window) screenshot = QPixmap.grabWindow(QApplication.desktop().winId()) screenshot.save("screenshot-main.png")