'Modifies the pixel at the given position. The color is given as
a single numerical value for single-band images, and a tuple for
multi-band images.
Note that this method is relatively slow.  For more extensive changes,
use :py:meth:`~PIL.Image.Image.paste` or the :py:mod:`~PIL.ImageDraw`
module instead.
See:
* :py:meth:`~PIL.Image.Image.paste`
* :py:meth:`~PIL.Image.Image.putdata`
* :py:mod:`~PIL.ImageDraw`
:param xy: The pixel coordinate, given as (x, y).
:param value: The pixel value.'

def putpixel(self, xy, value):

    self.load()
    if self.readonly:
        self._copy()
        self.pyaccess = None
        self.load()
    if self.pyaccess:
        return self.pyaccess.putpixel(xy, value)
    return self.im.putpixel(xy, value)
