0
回答
iphone UIImage常用方法
科大讯飞通用文字识别100000次/天免费使用。立即申请   

http://iphoneincubator.com/blog/tag/uiimage

Recently there have been some interesting developer news related to working with images on the iPhone.

  • First there is Chris Greening’s open source project simple-iphone-image-processing , that provides a set of common image processing tasks .
  • Today I listened to the Mobile Orchard’s podcast Interview with Paul Cantrell , and the discussion was about UIKit, views, layers, etc. This was the most enlightening information I’ve come across on this topic ever. Highly recommended.

So, I thought I’d contribute a few UIImage routines that I’ve found useful.

 

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);   
   
    // Draw image1    
    [image1 drawInRect:CGRectMake(0, 0, image1.size.width, image1.size.height)];   
   
    // Draw image2    
    [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];   
    return  newImage;   
}   

 

Save UIImage to Photo Album

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];   
} 


原文链接:http://blog.csdn.net/favormm/article/details/5327696
<无标签>
举报
长平狐
发帖于6年前 0回/120阅
顶部