UIImage is an Objective-C class that represents a bitmap image.
Undocumented methods
Precomposed icon
From left to right: The original image; _applicationIconImagePrecomposed:NO; _applicationIconImagePrecomposed:YES; _smallApplicationIconImagePrecomposed:NO; _smallApplicationIconImagePrecomposed:YES
| Signature
|
-(UIImage*)_applicationIconImageForFormat:(int)format precomposed:(BOOL)precomposed scale:(CGFloat)scale;
|
| Available in |
4.0 –
|
| Signature
|
-(UIImage*)_applicationIconImageForFormat:(int)format precomposed:(BOOL)precomposed;
|
| Available in |
3.2 –
|
| Signature
|
-(UIImage*)_applicationIconImagePrecomposed:(BOOL)precomposed;
|
| Available in |
2.0 – 4.0
|
| Signature
|
-(UIImage*)_smallApplicationIconImagePrecomposed:(BOOL)precomposed;
|
| Available in |
2.0 – 3.1
|
These methods resize an image to icon size, clip out a rounded rectangle, draw shadows and apply a glossy overlay if required (when precomposed == NO), so that it resembles an icon.
| Format
|
Size
|
MobileIcons variant
|
Description
|
| iPhone |
iPad
|
iPhone |
iPad 2x |
iPad 1x
|
| 0 |
29×29 |
29×29 |
4 |
17 |
4 |
|
| 1 |
29×29 |
50×50 |
2 |
16 |
3 |
the small icon that appears in Spotlight
|
| 2 |
59×62 |
74×78 |
0 |
15 |
1 |
the large icon that appears in home screen (default)
|
| 3 |
44×45 |
74×78 |
22 |
23 |
1 |
for use in GameCenter (?)
|
| 4 |
59×62 |
74×78 |
24 |
25 |
26 |
in gray scale
|
| 5 |
31×37 |
64×64 |
18 |
19 |
5 |
document-like picture filled with the specified image
|
| 6 |
31×37 |
64×64 |
20 |
21 |
7 |
document-like picture with a small icon
|
The rendering of icon is actually done by MobileIcons.
If the input image is rectangular, the largest square portion in the top-left corner will be used.
Example:
@interface UIImage (privateAPI)
-(UIImage*)_applicationIconImagePrecomposed:(BOOL)precomposed;
@end
...
UIImage *regularIcon = [UIImage imageNamed:@"regularIcon.png"];
UIImage *renderedIcon = [regularIcon _applicationIconImageForFormat:2 precomposed:NO];
NSData *pngData = UIImagePNGRepresentation( renderedIcon );
[pngData writeToFile:@"/tmp/roundedIcon.png" atomically:YES];
_flatImageWithWhite:alpha:
| Signature
|
-(UIImage*)_flatImageWithWhite:(CGFloat)white alpha:(CGFloat)alpha;
|
| Available in |
2.0 –
|
Create an image having the same size as the original image, but filled with the solid color as the parameters.
_bezeledImageWithRed:green:blue:alpha:
| Signature
|
-(UIImage*) _bezeledImageWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;
|
| Available in |
2.0 – 3.1
|
Create a solid white image having the same size as the original image, and then stroke the top 1px edge by the specified color.
_imageScaledToSize:interpolationQuality: & _imageScaledToProportion:interpolationQuality:
| Signature
|
-(UIImage*)_imageScaledToSize:(CGSize)newSize interpolationQuality:(CGInterpolationQuality)quality;
|
| Available in |
2.0 – 3.2
|
| Signature
|
-(UIImage*)_imageScaledToProportion:(CGFloat)scale interpolationQuality:(CGInterpolationQuality)quality;
|
| Available in |
2.0 –
|
Rescale the image to the new size.
+kitImageNamed:
| Signature
|
+(UIImage*)kitImageNamed:(NSString*)name;
|
| Available in |
2.0 –
|
Equivalent to _UIImageWithName(name).
+defaultDesktopImage
| Signature
|
+(UIImage*)defaultDesktopImage;
|
| Available in |
2.0 – 4.1
|
Return the user's lock screen image.
+setDesktopImageData:
| Signature
|
+(void)setDesktopImageData:(NSData*)jpegData;
|
| Available in |
2.0 – 3.2
|
| Signature
|
+(void)setDesktopImageData:(NSData*)data composedPortraitImageData:(NSData*)data2 composedLandscapeImageData:(NSData*)data3 forVariant:(int)variant;
|
| Available in |
4.0 – 4.1
|
Replace the user's lock screen image by the given JPEG data.
+ _deviceSpecificImageNamed: (inBundle:)
| Signature
|
+(UIImage *) _deviceSpecificImageNamed:(NSString *)
|
| Signature
|
+(UIImage *) _deviceSpecificImageNamed:(NSString *) inBundle:(NSBundle *)
|
Like +imageNamed:(inBundle:) but with support for special longphone images (-568h)
Undocumented C functions
_UIImageWithName
| Signature
|
UIImage* _UIImageWithName(NSString* name);
|
| Available in |
2.0 –
|
Obtain a built-in image. The name are stored in UIKit.framework/*.artwork. There are various ways to extract this information[1][2]. A list of image names may also be helpful: 6.0, 2.0.
UIImageDataWriteToSavedPhotosAlbum
| Signature
|
void UIImageDataWriteToSavedPhotosAlbum(NSData* imageData, id target, SEL selector, void* context);
|
| Available in |
3.1 –
|
Write the image data to photos album. This is similar to UIImageWriteToSavedPhotosAlbum function in the SDK, except that you can choose the image format (the extension will always be *.jpg, however).
UIGetScreenImage
| Signature
|
CGImageRef UIGetScreenImage();
|
| Available in |
2.0 –
|
| Signature
|
CGImageRef UICreateScreenImage();
|
| Available in |
3.2 –
|
"Print screen" and returns the image. Note that this is a CGImage, so you need to convert it to a UIImage with +[UIImage imageWithCGImage:].
Note that, although being a "Get" function, the returned image actually has retain count of +1, and the caller (you) are responsible to CGImageRelease it.
This function can be used for SDK apps between 2009 December[3] and 2010 July[4]
In firmware 3.2, UIGetScreenImage becomes an alias of the more appropriately-named UICreateScreenImage.
References
- ↑ iPhoneShop http://code.google.com/p/iphoneshop/ – may not work on 3.x
- ↑ https://github.com/davepeck/iphone-tidbits
- ↑ http://www.steveperks.co.uk/post/Apple-Allows-UIGetScreenImage-For-iPhone.aspx
- ↑ http://www.tuaw.com/2010/07/21/devsugar-rip-uigetscreenimage/