v 12.0 Third Party 190
Download for v 12.0 Deploy on Odoo.sh
Odoo Online
On Premise
Lines of code 620
Technical Name web_widget_image_paint
You bought this module and need support? Click here!
License: AGPL-3

Image painting widget

This module adds a form view widget that makes it possible to paint and save the resulting picture into a binary field of the form view model.

The starting image can be a static image, uploaded or retrieved from another binary field.

The painted image can be reset at any time to the predefined static or dynamic image.

The toolbox, based on the Fabrics.js (version 1.7.6) library(cf. http://fabricjs.com/), has different brushes and markers whereby shape, size, shadow and color can be selected.


Add the widget to your module as follows:

  • __manifest__.py
'depends': ['web_widget_image_paint'],
  • ORM model
my_paint_image = fields.Binary()
  • Form View :
<field name="my_paint_image"
       options="{'drawing_mode': True,
                 'edit_background_image': True,
                 'background_image_field': 'my_background_image_field',
                 'add_marker': True,
                 'marker_shape': 'x-sign',
                 'marker_color': 'red',
                 'marker_size': 20}"/>


xml field tag attributes:

  • width (default: 500)
  • height (default: 376)
  • background (default: web_widget_image_paintstaticsrcimgimage-placeholder.png)

widget options:

  • drawing_mode : True | False (default: True)

    When False the ‘Enter Drawing Mode’ button becomes invisible, hence only moving mode available

  • edit_background_image : True | False (default: True)

    Set this option to False if you do not want the end-user to upload his own background image

  • background_image_field

    You can specify another binary field on the same model for the background image.

  • add_marker : True | False (default: True)

    When False the ‘Add Marker’ button is not available

  • marker_shape : x-sign | diamond | circle | square (default: x-sign)

  • marker_color (default 'red')

  • marker_size (default 20)

Known issues / Roadmap

  • Insertion of text
  • layers : background + overlay, 2 fields, fusion or merge background and overlay
  • only one widget image_paint by view


Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
There are no ratings yet!
missing file
on 12/27/19, 9:23 AM

Please add file fabric.min.js to folder /web_widget_image_paint/static/lib/fabric.js

redacted (self promotion)
Shurshilov Artem
on 10/4/19, 10:32 AM

redacted (self promotion)

Odoo 11
David Montero Crespo
on 10/3/19, 4:07 PM

Hello Odoo 11 plis

Re: Odoo 11
Luc De Meyer
on 10/4/19, 9:19 AM Author

Given some funding we can backport this module to Odoo 11 for you. As an alternative you cal backport yourselve and make a Pull Request to the OCA/web 11.0 branch. We'll review and test your backport.