Skip to main content

Transparent image transformation system

Project description


You must define your transformation in your TINT_TRANSFORMATIONS settings variable.

You set your images on your models puting a ForeignKey to tint.models.Image.

Then you put your images in your templates using the at_transformation filter. Example:

{% load tint %}

<img src="{{ mymodel.my_image_field|at_transformation:"my-transformation-definition" }}" />

If you use django-jinja you only have to use the image_at_transformation function. Example:

<img src="{{ image_at_transformation(mymodel.my_image_field, "my-transformation-definition") }}" />

Default ImageProc Actions

Django-tint default Image Processor comes with some actions, here you have the list:

Action Description Params
crop Crop an image to a width and height. height, width, align, valign
scale Scale an image to a width and height (deforming it). height, width
fit Scale an image to a width and height and crop the overflow. height, width, align, valign
watermark Paste a watermark on a image. watermark_image, opacity
grayscale Convert the image to grayscale.  
flip Flip the image vertically.  
mirror Flip the image horizontally.  
equalize Equalize the image histogram.  
autocontrast Maximize (normalize) image contrast. cutoff
invert Invert the image colors.  
convert Convert image mode (L, RGB or CYMK). mode


In Django-tint you can define your ImageProc class (normally will be a subclass of the DefaultImageProc) to add your own image transformations. You can use it configuring the TINT_IMAGE_PROCESSOR settings variable. Example:

TINT_IMAGE_PROCESSOR = 'myapp.my_image_processor_module.MyImageProcessorClass'

If the variable is not defined the DefaultImageProc is used.

Then you can configure your transformations as a dictionary. The name of the transformation is the key, and the value is a list of “actions”. An action is a dictionary with one key ‘action’ with the name of the action, and the other keys the parameters to use in this action. Example:

  'example1': [
          "action": 'fit',
          "width": 1024,
          "height": 768,
          "align": 'center',
          "valign": 'middle',
          "action": 'watermark',
          "image": 'example.watermark.png',
          "opacity": 0.5,
  'example2': [
          "action": 'fit',
          "width": 800,
          "height": 600,
          "align": 'center',
          "valign": 'middle',
          "action": 'watermark',
          "image": 'example.watermark.png',
          "opacity": 0.5,

You can define the the removing of deleted images or thumnails model instances, remove the image file with the settings TINT_KEEP_THUMBNAILS and TINT_KEEP_IMAGES, the default value is True to both settings.

You can define your file output format and your file output extension with the settings TINT_IMAGE_OUTPUT_FORMAT and TINT_IMAGE_OUTPUT_EXTENSION. The default value is None this means use the same format and extension of the origin file. Example:


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-tint, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size django-tint-0.1.tar.gz (9.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page