imgpy

Image processing library for Python with animated GIFs support


Keywords
image, info, crop, resize, thumbnail, gif
License
MIT
Install
pip install imgpy==1.1.0

Documentation

ImgPy

Image processing library for Python with animated GIFs support - proxy wrapper around Pillow library with simple usable interface and access to each frame.

pypi version travis ci build status

Features

Attributes:

  • info
  • exif - dict with EXIF tags and GPS dict with GPS tags if presented
  • format
  • size
  • width
  • height
  • mode
  • mode_desc - image mode description
  • frame_count - frame count
  • animated - flag, which shows if image is animated
  • frames - frame list

Methods:

  • convert
  • crop
  • filter
  • paste
  • resize
  • rotate
  • thumbnail
  • transform
  • transpose
  • load - gets called when you access frames attribute for the first time or call any processing or save method, call this method explicitly to load all or limited number of frames (first n frames or random n frames without reordering)
  • save - save image
  • close - close image

Requirements

  • Python 3.5+
  • Pillow 4.1.1+

Setup

python-3.6 -m venv .env
source .env/bin/activate
pip install imgpy

Usage

from imgpy import Img


# Crop image
with Img(fp='test.gif') as im:
    im.crop(box=(10, 10, 110, 110))
    im.save(fp='crop.gif')

# Create thumbnail image
with Img(fp='test.gif') as im:
    im.thumbnail(size=(100, 100))
    im.save(fp='thumb.gif')

# Save 10 random GIF frames
with Img(fp='test.gif') as im:
    im.load(limit=10, first=False)
    im.save(fp='random.gif')

Tests

Run tests: py.test