Skip to content
This repository has been archived by the owner on Mar 16, 2021. It is now read-only.

This is an Objective-C implementation of Scanline Flood Fill Algorithm.

License

Notifications You must be signed in to change notification settings

Chintan-Dave/UIImageScanlineFloodfill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UIImageScanlineFloodfill

This is an Objective-C implementation of Scanline Flood Fill Algorithm.

Before Flood Fill After Flood Fill

I have used Scanline Floodfill Algorithm because it is faster than 4 way and 8 way. Implement using iterative logic because iPhone have very limite capicity compare to computeer and recursive implementation make stackoverflow exception.

I have try my best to make it fast but it is still in its beginning phase so any suggestion and contribution is welcome.

This is part of my iOS drawing app.

When I search for flood fil on internet I found that there are many implementation for c, c#, Java etc. but for Objective - C there are only 2 or 3 implementation and not very easy to understand.

So I decide to share my work.

I would like to thanks:

How It Work ?

For Implementation detail visit : Scanline Flood Fill Algorithm with (or without) Tolerance in Objective-C

How To Use It:

If you wan to use this directly in your project that do as follow:

  1. Copy Folllowing file in your project
    1. LinkedListStack.h
    2. LinkedListStack.m
    3. UIImage+FloodFill.h
    4. UIImage+FloodFill.m
  2. UIImage+FloodFill.h file where you want to use this .
  3. Call flood fill function with all argument like folloeing

UIImage *image1 = [self.image floodFillFromPoint:tpoint withColor:[UIColor grayColor] andTolerance:tolerance];

Limitation(s)

We have some hard time dealing with the Alpha channel (transparency). We are still working on that.
As a workground right now we are replacinng Alpha to White color by converting an image to JPEG.
If you don't want to use this behaviour you can comment (Or Remove) frollowinng method from FloodFillImageView
- (void)setImage:(UIImage *)image

About

This is an Objective-C implementation of Scanline Flood Fill Algorithm.

Resources

License

Stars

Watchers

Forks

Packages

No packages published