zoukankan      html  css  js  c++  java
  • iOS开发中的小技巧

    iOS多张图片合成一张

    本文来源于http://www.cnblogs.com/yang-guang-girl/p/5197099.html,感谢博主

    • 代码
    #import "RootViewController.h"
    
    @interface RootViewController ()
    
    @end
    
    @implementation RootViewController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        NSArray *imgArray = [[NSArray alloc] initWithObjects:
                             [UIImage imageNamed:@"1.jpg"],
                             [UIImage imageNamed:@"2.jpg"],
                             [UIImage imageNamed:@"3.jpg"],
                             [UIImage imageNamed:@"4.jpg"],
                             [UIImage imageNamed:@"5.jpg"],
                            nil];
        
        NSArray *imgPointArray = [[NSArray alloc] initWithObjects:
                                  @"10", @"10",
                                  @"10", @"25",
                                  @"30", @"15",
                                  @"30", @"50",
                                  @"20", @"80",
                                  nil];
        
        
        BOOL suc = [self mergedImageOnMainImage:[UIImage imageNamed:@"1.jpg"] WithImageArray:imgArray AndImagePointArray:imgPointArray];
        
        if (suc == YES) { 
            NSLog(@"Images Successfully Mearged & Saved to Album"); 
        } 
        else { 
            NSLog(@"Images not Mearged & not Saved to Album"); 
        }
        
    }
    #pragma -mark -functions
    //多张图片合成一张
    - (BOOL) mergedImageOnMainImage:(UIImage *)mainImg WithImageArray:(NSArray *)imgArray AndImagePointArray:(NSArray *)imgPointArray
    {
        
        UIGraphicsBeginImageContext(mainImg.size);
        
        [mainImg drawInRect:CGRectMake(0, 0, mainImg.size.width, mainImg.size.height)];
        int i = 0;
        for (UIImage *img in imgArray) {
            [img drawInRect:CGRectMake([[imgPointArray objectAtIndex:i] floatValue],
                                       [[imgPointArray objectAtIndex:i+1] floatValue],
                                       img.size.width,
                                       img.size.height)];
            
            i+=2;
        }
        
        CGImageRef NewMergeImg = CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage,
                                                              CGRectMake(0, 0, mainImg.size.width, mainImg.size.height));
        
        UIGraphicsEndImageContext();
        if (NewMergeImg == nil) {
            return NO;
        }
        else {
            UIImageWriteToSavedPhotosAlbum([UIImage imageWithCGImage:NewMergeImg], self, nil, nil);
            return YES;
        }
    }
    
    
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
    • 自己的代码没有贴上,来个效果图吧

  • 相关阅读:
    Java菜鸟学习笔记(3)--Java API 文档下载与文档注释的使用
    常用控制台命令大全-Ubuntu篇
    Java菜鸟学习笔记(2)--Ubuntu JDK环境变量配置与常见问题
    Java菜鸟学习笔记(1)--Windows JDK环境变量配置与常见问题
    Java菜鸟学习笔记(x)-《java学习圣经宝典》笔记
    自我管理&时间管理(转)
    方滨兴校长在2013届本科生毕业典礼上的讲话(转)
    static Map的使用
    好的测试网站
    经典css网站
  • 原文地址:https://www.cnblogs.com/gchlcc/p/6774420.html
Copyright © 2011-2022 走看看