博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发中的小技巧 - 多张图合成一张
阅读量:6175 次
发布时间:2019-06-21

本文共 2779 字,大约阅读时间需要 9 分钟。

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
  • 自己的代码没有贴上,来个效果图吧

762322-20170427151447865-450376635.png

转载于:https://www.cnblogs.com/gchlcc/p/6774420.html

你可能感兴趣的文章
前端安全即JS代码安全,前端源码安全探讨!
查看>>
如何快速实现异地不同网络打印机共享
查看>>
openinstall免费服务对App推广有哪些作用?
查看>>
基于Docker的微服务CI CD流水线
查看>>
学好SEO需要掌握哪些知识要点?
查看>>
JetBrains GoLand macv2019.1.2中文版如何换成无牵引模式?
查看>>
电气火灾监控系统工作原理
查看>>
中使馆驳斥《金融时报》“中国网络威胁论”
查看>>
【挨踢人物传】茶乡浪子:“传奇”职场路,一生感谢情(第12期)
查看>>
我的友情链接
查看>>
c#关于数据库连接操作的案例
查看>>
聊聊最近接触的媒体查询!
查看>>
HAproxy指南之haproxy重定向应用(案例篇)
查看>>
学习 HTTP协议挺不错的一个类
查看>>
深入字节码 -- ASM 关键接口 MethodVisitor
查看>>
linux 文件权限
查看>>
Linux常用命令集合
查看>>
Oracle DML
查看>>
Linux - FHS文件系统层次标准
查看>>
报错:Invalid bound statement (not found)
查看>>