您好,登錄后才能下訂單哦!
這篇文章給大家介紹ImageGrab模塊如何在Python中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一、ImageGrab模塊的函數
1、 Grab
定義:ImageGrab.grab()? image
ImageGrab.grab(bbox) ? image
含義:(New in 1.1.3)抓取當前屏幕的快照,返回一個模式為“RGB”的圖像。參數邊界框用于限制只拷貝當前屏幕的一部分區域。
例子:
>>> from PIL importImage, ImageGrab >>> im =ImageGrab.grab() >>> im.size (1366, 768) >>> im.mode 'RGB' >>> im.show() >>> im0 =ImageGrab.grab((300, 100, 1400, 600)) >>> im0.show() >>> im0.size (1100, 500) >>> im0.mode 'RGB'
圖像im是拷貝了整個屏幕的內容,其尺寸為1366x768,為我的顯示器當前分辨率尺寸。圖像im0拷貝了區域(300, 100, 1400, 600)中1100x500大小的屏幕內容。
圖像im如下:
圖像im0如下:
2、 Grabclipboard
定義:ImageGrab.grabclipboard()? image or list of strings or None
含義:(New in 1.1.4)抓取當前剪貼板的快照,返回一個模式為“RGB”的圖像或者文件名稱的列表。如果剪貼板不包括圖像數據,這個函數返回空。
用戶可以使用函數isinstance()來檢查該函數返回的是一個有效圖像對象或者其他數據。
例子:
from PIL import Image, ImageGrab im = ImageGrab.grabclipboard() if isinstance(im, Image.Image): print "Image: size : %s, mode: %s" % (im.size, im.mode) im.save("D:\\Document\\mdoc\\python\\pic\\12\\grab_grabclipboard.jpg") elif im: for filename in im: try: print "filename: %s" % filename im = Image.open(filename) except IOError: pass #ignore this file else: print "ImageList: size : %s, mode: %s" % (im.size, im.mode) else: print "clipboard is empty."
通過實驗,發現在畫圖工具中打開圖像,選擇一部分然后剪貼,會返回一張模式為“RGB”的圖像。如果在文件夾下剪貼圖像文件,則會返回“clipboard is empty.”,即這里獲取的剪貼板內容為空或者非圖像內容。
本次測試的結果如下:
>>>================================ RESTART ================================
>>>
Image: size : (566, 335),mode: RGB
>>> im.size
(566, 335)
>>> im.mode
'RGB'
>>> im.show()
圖像im如下:
二、Python中的isinstance函數
isinstance是Python中的一個內建函數
語法:
isinstance(object,classinfo)
如果參數object是classinfo的實例,或者object是classinfo類的子類的一個實例,返回True。如果object不是一個給定類型的對象,則返回結果總是False。
如果classinfo不表示一個類(類型對象),那么它要么是一個類的元組,或者遞歸地包含這樣的(由數據類型構成的)元組.其他的序列類型是不被允許的。
如果classinfo不是一種數據類型或者由數據類型構成的元組,將引發一個TypeError異常。
例子:
>>>isinstance(100, int) True >>>isinstance(10.5, int) False >>>isinstance(10.5, float) True >>>isinstance(10.5, int) False >>>isinstance(10.5, (int,float)) True
屏幕截圖
示例代碼
from PIL import Image from PIL import ImageGrab size = (300,300,400,400) img = ImageGrab.grab(size) img.save("cut.jpg") img.show()
關于ImageGrab模塊如何在Python中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。