zoukankan      html  css  js  c++  java
  • iPhone开发:UIImage的一系列操作

    1.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;  

    }

    2.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;  

    3.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];  

    }

  • 相关阅读:
    Java基础--HashMap面试题
    数据结构
    Java基础面试题--单利模式及在多线程情况下的运用
    Java多线程面试题--保证多个线程顺序执行
    从客户端(ASPxFormLayout1$txtRule="<YYYY><MM><DD><XXXX>")中检测到有潜在危险的 Request.Form 值
    关于ASPxComboBox通过ClientInstanceName,js获取不到控件的问题
    未能找到类型或命名空间名List
    Postman中使用post方式调用接口
    用户可能引发报错的另类操作
    关于发布程序之后js文件存在缓存问题
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2458499.html
Copyright © 2011-2022 走看看