Reference for Processing version 1.5. If you have a previous version, use the reference included with your software. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Javadoc.

Name

### requestImage()

Examples

    PImage bigImage;

    void setup() {
      bigImage = requestImage("something.jpg");
    }

    void draw() {
      if (bigImage.width == 0) {
        // Image is not yet loaded
      } else if (bigImage.width == -1) {
        // This means an error occurred during image loading
      } else {
        // Image is ready to go, draw it
        image(bigImage, 0, 0);
      }
    }

Description

This function load images on a separate thread so that your sketch does not freeze while images load during setup(). While the image is loading, its width and height will be 0. If an error occurs while loading the image, its width and height will be set to -1. You'll know when the image has loaded properly because its width and height will be greater than 0. Asynchronous image loading (particularly when downloading from a server) can dramatically improve performance.
The extension parameter is used to determine the image type in cases where the image filename does not end with a proper extension. Specify the extension as the second parameter to requestImage().

Syntax

    requestImage(filename)
    requestImage(filename, extension)

Parameters

filename | String: name of file to load, can be .gif, .jpg, .tga, or a handful of other image types depending on your platform
extension | String: the type of image to load, for example "png", "gif", "jpg"

Returns | PImage or null
Usage | Web & Application
Related | loadImage() PImage

Updated on August 30, 2010 04:29:39pm EDT