zfoxatis

PySide : screengrab and resize

Oct 17th, 2012
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'create by: zfox, 18.10.2012'
  2.  
  3.  
  4. from PySide.QtGui import *
  5. from PySide.QtCore import *
  6. import sys
  7.  
  8. class ScreenGrab():
  9.     '''
  10.    A képernyő kiválaszott részéről fényképet készít a megadott méretarányban, torzításmentesen.
  11.    startX,startY: a kiválasztás kezdőpontja
  12.    width,height:  a kezdőponttólszámítva a kiválasztás szélessége, magassága
  13.    zoom:          nagyítás vagy kicsinyítés aránya 1-nél nagyobb nagyít, 1-nél kisebb kicsinyít
  14.    '''
  15.    
  16.     def __init__(self):
  17.  
  18.         startX,startY,width,height,zoom=100,200,600,400,3
  19.         screen = QDesktopWidget().screen()
  20.         screenshot = QPixmap.grabWindow(screen.winId(),startX,startY,width,height)
  21.         #screenshot = QPixmap.grabWindow(screen.winId()) #így fullscreen grab
  22.         screenimage=screenshot.toImage()
  23.         screenimage=screenimage.scaled(screenimage.width()*zoom, screenimage.height()*zoom)
  24.         screenimage.save('screenshoot.png')
  25.      
  26. if __name__ == '__main__':
  27.     app = QApplication(sys.argv)
  28.     screengrab=ScreenGrab()
  29.     sys.exit(app.exec_())
RAW Paste Data