Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
UIImage - iPhone Development Wiki

UIImage

From iPhone Development Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

UIImage is an Objective-C class that represents a bitmap image.

Undocumented methods

-_applicationIconImagePrecomposed: & -_smallApplicationIconImagePrecomposed:

From left to right: The original image; _applicationIconImagePrecomposed:NO; _applicationIconImagePrecomposed:YES; _smallApplicationIconImagePrecomposed:NO; _smallApplicationIconImagePrecomposed:YES
Signature -(UIImage*)_applicationIconImagePrecomposed:(BOOL)precomposed;
Available in 2.0 –
Signature -(UIImage*)_smallApplicationIconImagePrecomposed:(BOOL)precomposed;
Available in 2.0 –

These methods resize an image to icon size (59×59) or small icon size (29×29), clip out a rounded rectangle, draw shadows and apply a glossy overlay if required (when precomposed == NO), so that it resembles an icon.

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 _applicationIconImagePrecomposed: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 –

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 –
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 –

Return the user's lock screen image.

+setDesktopImageData:

Signature +(void)setDesktopImageData:(NSData*)jpegData;
Available in 2.0 –

Replace the user's lock screen image by the given JPEG data.

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][3], and you can grab a (slightly outdated) list from http://test.saurik.com/winterboard/UIImages.txt.

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 –

"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.

Starting from 2009 Dec 14th, this function can be used for SDK apps[4].

References