artdirector

Set a focal point and “artdirector” crop your image to different resolutions without missing the subject. Ideal to create images for mixed or responsive media.

Example

Original Image (by me)

Original size

Variants

artdirector --focus-x 260 --focus-y 440 --height 600 --width 600 --zoom 0.0 --edge 3.0 example.jpeg test-1.jpeg
artdirector --focus-x 260 --focus-y 440 --height 600 --width 300 --zoom 0.2 --edge 3.0 example.jpeg test-2.jpeg
artdirector --focus-x 260 --focus-y 440 --height 600 --width 600 --zoom 0.7 --edge 3.0 example.jpeg test-3.jpeg

Crop 1
Crop 2
Crop 3

Installation

pip3 install artdirector

Usage

Use it as a command-line tool:

$ artdirector --help
usage: artdirector [-h] [--width WIDTH] [--height HEIGHT] [--focus-x FOCUS_X] [--focus-y FOCUS_Y] [--zoom ZOOM]
                      INPUT_FILE OUTPUT_FILE

positional arguments:
  INPUT_FILE         Input image
  OUTPUT_FILE        Output image

options:
  -h, --help         show this help message and exit
  --width WIDTH      Crop width
  --height HEIGHT    Crop height
  --focus-x FOCUS_X  Focal point
  --focus-y FOCUS_Y  Focal point
  --zoom ZOOM        Zoom between 0.0 - 1.0 (0.0. Default)
  --edge EDGE        Edge (size/n) around the focal target area

As a Python module

from artdirector import ArtDirector

ad = ArtDirector()
ad.load('input.jpg')
ad.crop([400, 400], focus=[600, 300], zoom=0.3)
ad.output('input.jpg')

GitHub

View Github