An image (e.g., a sprite) having at least three textures is compressed by generating a map which represents boundaries separating regions in the image, and generating pointers that associate each of the regions with one of the textures. The resulting data structure may be used in decompressing the image.