Canvas and images

Drawing an image to a canvas 2d context

      void drawImage(in HTMLImageElement image, in double dx, in double dy,
                     in optional double dw, in double dh);
      void drawImage(in HTMLImageElement image, in double sx, in double sy,
                     in double sw, in double sh, in double dx, in double dy,
                     in double dw, in double dh);
    

Extracting an image from a canvas

      var url = canvas.toDataURL(); /* returns a data: URL for a PNG */
    

Getting ImageData objects from a canvas 2d context

      interface ImageData {
        readonly attribute unsigned long width;
        readonly attribute unsigned long height;
        readonly attribute CanvasPixelArray data;
      };

      ImageData createImageData(in double sw, in double sh);
      ImageData getImageData(in double sx, in double sy,
                             in double sw, in double sh);
    

Putting image data back in a canvas 2d context

      void putImageData(in ImageData imagedata, in double dx, in double dy);