Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python Image Library PIL 10/13/05. PIL – What is it? Pythonic library for Loading and Saving images (diverse formats) Scaling, cropping, compositing,

Similar presentations


Presentation on theme: "Python Image Library PIL 10/13/05. PIL – What is it? Pythonic library for Loading and Saving images (diverse formats) Scaling, cropping, compositing,"— Presentation transcript:

1 Python Image Library PIL 10/13/05

2 PIL – What is it? Pythonic library for Loading and Saving images (diverse formats) Scaling, cropping, compositing, transforms, bands (e.g. alpha channel) Drawing text and basic shapes Akin to the program GIMP (*GIMP also has a nice python API called GIMP-Python)

3 PIL - Examples Image resizing or format conversions Adding save/load support into your application * Font support also handy Chart generation (also see PIDDLE piddle.sf.net) Thumbnail generation Watermarking or adding legend

4 PIL API - Concepts Image – from file or newly created >>> import Image >>> im = Image.open(“vacation.jpeg") >>> newIm = Image.new (“RGBA”, (640, 480), (255, 0, 0)) Format – file format >>> print im.mode, im.size, im.format RGB (1024, 768) JPEG >>> im.save (“vacation.png”) OR >>> im.save (“vacation.png”, “PNG”)

5 PIL API - Concepts Resampling Filters NEAREST, BILINEAR, BICUBIC, ANTIALIAS >>> smallIm = im.resize ( (128, 128), Image.ANTIALIAS) Sizes – tuple of width and height Bounding boxes – tuples of x1, y1, x2, y2 0,0 is always upper left

6 PIL API - Concepts Mode – gray scale “L”, color “RGBA” “RGB”, etc. 1 (1-bit pixels, black and white, stored with one pixel per byte) L (8-bit pixels, black and white) P (8-bit pixels, mapped to any other mode using a colour palette) RGB (3x8-bit pixels, true colour) RGBA (4x8-bit pixels, true colour with transparency mask) CMYK (4x8-bit pixels, colour separation) YCbCr (3x8-bit pixels, colour video format) I (32-bit integer pixels) F (32-bit floating point pixels) Color – specified as 32bit value, tuple, or string myColor = (255, 0, 0, 128) # full red, with 50% alpha myColor = 0x7f0000ff# full red, with 50% alpha myColor = “#00ff00” # web color myColor = “rgb (75%, 0%, 0%)” myColor = “hsl (0, 100%, 50%)”

7 PIL API - Concepts Bands – the separate color channels >>> bands = im.split () >>> rIm = bands [0] >>> aIm = bands [3] >>> remadeImage = Image.merge (“RGBA”, (rIm, gIm, bIm, aIm)) >>> grayscaleIm = Image.open (“myAlpha.gif”) >>> remadeImage = myImage.putalpha (grayscaleIm) # replace the alpha band

8 PIL – Slicing & Dicing Thumbnails Modifies in-place Preserves aspect ratio >>> myImage.thumbnail ((128, 128), Image.ANTIALIAS) Crop >>> bounds = (100, 100, 400, 400) >>> cutoutIm = myImage.crop (bounds) Paste

9 PIL – Slicing & Dicing Blend/composite Rotate Transpose ROTATE_90/180/270, FLIP_TOP_BOTTOM, FLIP_LEFT_RIGHT >>> fixedIm = myImage.transpose (ROTATE_90)

10 PIL - Drawing ImageDraw module creates drawing surface for image >>> import Image, ImageDraw >>> im = Image.open(“vacation.jpeg") >>> drawSurface = ImageDraw.Draw (im) >>> import Image, ImageDraw >>> im = Image.open(“vacation.jpeg") >>> im.getpixel ( (4,4) ) >>> im.putpixel ( (4,4), (255,0,0))

11 PIL - Drawing Basic methods of drawing surface chord arc pieslice (bounds, strtAng, endAng) ellipse (bounds) line (coordSeq) point (coordSeq) polygon (coordSeq) rectangle (bounds) # first coord inclusive, second coord exclusvie Common optional args for these methods fill=fillColor outline=outlineColor

12 PIL – Drawing Text Text >>> drawSurface = ImageDraw.Draw (im) >>> drawable.text ((10, 10), “Hello”, fill=(255,0,0), font=None) TrueType Font support > >>> import ImageFont >>> ttFont = ImageFont.truetype (“arial.ttf”, 16) >>> drawable.text ((10, 10), “Hello”, fill=(255,0,0), font=ttFont)

13 References Python Image Library http://www.pythonware.com/products/pil/ Other documentation sources PIL Handbook http://effbot.org/imagingbook/ Nice pdf from New Mexico Tech http://www.nmt.edu/tcc/help/pubs/pil/

14 BMP BUFR (identify only) EPS (write-only) FITS (identify only) GIF GRIB (identify only) HDF5 (identify only) IM JPEG MPEG (identify only) MSP PALM (write only) PCX PDF (write only) PNG PPM TIFF WMF (identify only) XBM XV Thumbnails CUR (read only) DCX (read only)DCX (read only) FLI, FLC (read only)FLI, FLC (read only) FPX (read only) GBR (read only) GD (read only) ICO (read only) IMT (read only) IPTC/NAA (read only) MCIDAS (read only) MIC (read only) PCD (read only) PIXAR (read only) PSD (read only) SGI (read only) TGA (read only) WAL (read only) XPM (read only)


Download ppt "Python Image Library PIL 10/13/05. PIL – What is it? Pythonic library for Loading and Saving images (diverse formats) Scaling, cropping, compositing,"

Similar presentations


Ads by Google