Introduction to the ImageGrab module of Python image processing library PIL
The module is used to copy the content of the current screen or the content on the clipboard to the PIL image memory.
The current version only supports windows.
1. Functions of the ImageGrab Module
1. Grab
Definition: ImageGrab. grab ()? Image
ImageGrab. grab (bbox )? Image
Meaning: (New in 1.1.3) capture the snapshot of the current screen and return an image in RGB mode. The parameter boundary box is used to restrict only copying part of the current screen.
Example:
>>> 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'
The image im is a copy of the entire screen. Its size is 1366x768, which is the current resolution size of my monitor. The image im0 copies the Screen Content of 300,100,140x600 in the area (0.
The image im is as follows:
The image im0 is as follows:
2. Grabclipboard
Definition: ImageGrab. grabclipboard ()? Image or list of strings or None
Meaning: (New in 1.1.4) capture the snapshot of the current clipboard and return a list of images or file names in RGB mode. If the clipboard does not contain image data, this function returns NULL.
You can use the isinstance () function to check whether a valid image object or other data is returned by the function.
Example:
from PIL import Image, ImageGrabim = 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."
Through the experiment, we found that opening the image in the drawing tool, selecting a part and cutting the paste will return an image in RGB mode. If the image file is clipped under the folder, "clipboard is empty." is returned, that is, the obtained clipboard content is empty or non-image content.
The results of this test are as follows:
>>>================================ RESTART ================================>>> Image: size : (566, 335),mode: RGB>>> im.size(566, 335)>>> im.mode'RGB'>>> im.show()
The image im is as follows:
Ii. isinstance functions in Python
Isinstance is a built-in function in Python.
Syntax:
Isinstance (object, classinfo)
If the parameter object is an instance of classinfo, or the object is an instance of a subclass of the classinfo class, True is returned. If an object is not of the specified type, the returned result is always False.
If classinfo does not represent a class (type object), it is either a class tuples, or recursively contains such (consisting of data types) tuples. other sequence types are not allowed.
If classinfo is not a data type or a tuples composed of data types, a TypeError exception is thrown.
Example:
>>>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