Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kgn/kgpixelboundsclip
NSImage and UIImage category that provides methods to find the pixel bounds of an image and create a new image clipped to those bounds.
https://github.com/kgn/kgpixelboundsclip
Last synced: 9 days ago
JSON representation
NSImage and UIImage category that provides methods to find the pixel bounds of an image and create a new image clipped to those bounds.
- Host: GitHub
- URL: https://github.com/kgn/kgpixelboundsclip
- Owner: kgn
- License: mit
- Created: 2012-10-07T00:11:18.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2013-08-22T20:51:33.000Z (about 11 years ago)
- Last Synced: 2024-10-31T14:50:56.618Z (16 days ago)
- Language: Objective-C
- Homepage:
- Size: 3.06 MB
- Stars: 62
- Watchers: 12
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: license.txt
Awesome Lists containing this project
README
KGPixelBoundsClip is an `NSImage` and `UIImage` category that provides methods to find the pixel bounds of an image and create a new image clipped to those bounds.
There are two sets of methods, the first returns the pixel bounds of an image as a rect. The second uses these methods to create a new image clipped to the pixel bounds.
A tolerance can be specified, this value defines how transparent a pixel can be before it is clipped. The default is 0.
# Category Interface
``` obj-c
- (CGRect)rectOfPixelBounds;
- (CGRect)rectOfPixelBoundsWithTolerance:(CGFloat)tolerance;- (UI/NSImage *)imageClippedToPixelBounds;
- (UI/NSImage *)imageClippedToPixelBoundsWithTolerance:(CGFloat)tolerance;
```# Results
![](https://raw.github.com/kgn/KGPixelBoundsClip/master/results.png)
# Testing
The test project contains a very useful command line tool that can be used to clip an image, and an example iPhone app that displays the clipped image.
The times listed below are the amount of time it took to find the pixel bounds of the test images. This list is maintained here to track the speed as the algorithm progressed and to make sure that the found bounds is correct.
```
'[email protected]' cliprect found in 0.028594 seconds: {81.000000, 85.000000, 388.000000, 314.000000}
'empty.png' cliprect found in 0.043749 seconds: {0.000000, 0.000000, 0.000000, 0.000000}
'button.png' cliprect found in 0.009336 seconds: {0.000000, 19.000000, 512.000000, 485.000000}
'rose.png' cliprect found in 0.012900 seconds: {0.000000, 0.000000, 512.000000, 512.000000}
'small.png' cliprect found in 0.000143 seconds: {1.000000, 1.000000, 3.000000, 3.000000}
'[email protected]' cliprect found in 0.000434 seconds: {5.000000, 6.000000, 48.000000, 50.000000}
'[email protected]' cliprect found in 0.000112 seconds: {2.000000, 1.000000, 1.000000, 2.000000}
'dog.jpg' cliprect found in 0.000037 seconds: {0.000000, 0.000000, 700.000000, 577.000000}
```