MP4
DFS and BFS using Stacks and Queues
FloodFilledImage Class Reference

This class is used to do flood fill on an image. More...

#include "FloodFilledImage.h"

Public Member Functions

 FloodFilledImage (const PNG &png)
 Constructs a new instance of a FloodFilledImage with a image png. More...
 
void addFloodFill (ImageTraversal &traversal, ColorPicker &colorPicker)
 Adds a flood fill operation to the FloodFillImage. More...
 
Animation animate (unsigned frameInterval) const
 Creates an Animation of frames from the FloodFill operations added to this object. More...
 

Detailed Description

This class is used to do flood fill on an image.

Constructor & Destructor Documentation

FloodFilledImage::FloodFilledImage ( const PNG &  png)

Constructs a new instance of a FloodFilledImage with a image png.

Parameters
pngThe starting image of a FloodFilledImage
Todo:
[Part 2]

Member Function Documentation

void FloodFilledImage::addFloodFill ( ImageTraversal traversal,
ColorPicker colorPicker 
)

Adds a flood fill operation to the FloodFillImage.

This function must store the operation, which will be used by animate.

Parameters
traversalImageTraversal used for this FloodFill operation.
colorPickerColorPicker used for this FloodFill operation.
Todo:
[Part 2]
Animation FloodFilledImage::animate ( unsigned  frameInterval) const

Creates an Animation of frames from the FloodFill operations added to this object.

Each FloodFill operation added by addFloodFill is executed based on the order the operation was added. This is done by:

  1. Visiting pixels within the image based on the order provided by the ImageTraversal iterator and
  2. Updating each pixel to a new color based on the ColorPicker

While applying the FloodFill to the image, an Animation is created by saving the image after every frameInterval pixels are filled. To ensure a smooth Animation, the first frame is always the starting image and the final frame is always the finished image.

(For example, if frameInterval is 4 the frames are:

  • The initial frame
  • Then after the 4th pixel has been filled
  • Then after the 8th pixel has been filled
  • ...
  • The final frame, after all pixels have been filed)
Todo:
[Part 2]

The documentation for this class was generated from the following files: