参考:http://iphoneincubator.com/blog/tag/uiimage 根据给定得图片,从其指定区域截取一张新得图片 -(UIImage *)getImageFromImage{
//大图bigImage
//定义myImageRect,截图的区域
CGRect myImageRect = CGRectMake(10.0, 10.0, 57.0, 57.0);
UIImage* bigImage= [UIImage imageNamed:@"k00030.jpg"];
CGImageRef imageRef = bigImage.CGImage;
CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, myImageRect);
CGSize size;
size.width = 57.0;
size.height = 57.0;
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, myImageRect, subImageRef);
UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
return smallImage;
} Combine two UIImages To add two UIImages together you need to make use of Graphics Context.
- - (UIImage *)addImage:(UIImage *)image1 toImage:(UIImage *)image2 {
- UIGraphicsBeginImageContext(image1.size);
-
-
- [image1 drawInRect:CGRectMake(0, 0, image1.size.width, image1.size.height)];
-
-
- [image2 drawInRect:CGRectMake(0, 0, image2.size.width, image2.size.height)];
-
- UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
-
- UIGraphicsEndImageContext();
-
- return resultingImage;
- }
Create a UIImage from a part of another UIImage This requires a round-trip to Core Graphics land:
- - (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect {
- CGImageRef sourceImageRef = [image CGImage];
- CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect);
- UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
- CGImageRelease(newImageRef);
- return newImage;
- }
Save UIImage to Photo Album This is just a one-liner:
- UIImageWriteToSavedPhotosAlbum(image, self, @selector(imageSavedToPhotosAlbum: didFinishSavingWithError: contextInfo:), context);
And to know if the save was successful:
- - (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
- NSString *message;
- NSString *title;
- if (!error) {
- title = NSLocalizedString(@"SaveSuccessTitle", @"");
- message = NSLocalizedString(@"SaveSuccessMessage", @"");
- } else {
- title = NSLocalizedString(@"SaveFailedTitle", @"");
- message = [error description];
- }
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
- message:message
- delegate:nil
- cancelButtonTitle:NSLocalizedString(@"ButtonOK", @"")
- otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
|