• 优质范文
  • 工作总结
  • 工作计划
  • 作文大全
  • 心得体会
  • 述职报告
  • 实习报告
  • 写作方案
  • 教案反思
  • 演讲稿
  • 发言稿
  • 读书笔记
  • 精美散文
  • 读观后感
  • 当前位置: 博通范文网 > 精美散文 > 正文

    [iOS开发之如何截图and如何合并多张图片等...] 手机截图软件哪个好用

    时间:2018-08-16 来源:博通范文网 本文已影响 博通范文网手机站

    1、UIView截图

    -(UIImage*)captureView:(UIView *)theView{

    CGRect rect = theView.frame;

    if ([theView isKindOfClass:[UIScrollView class]]) {

    rect.size = ((UIScrollView *)theView).contentSize;

    }

    UIGraphicsBeginImageContext(rect.size);

    CGContextRef context = UIGraphicsGetCurrentContext();

    [yer renderInContext:context];

    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return img;

    }

    2、UIScrollview截图

    - (UIImage *)captureScrollView:(UIScrollView *)scrollView{

    UIImage* image = nil;

    UIGraphicsBeginImageContext(scrollView.contentSize);

    {

    CGPoint savedContentOffset = scrollView.contentOffset;

    CGRect savedFrame = scrollView.frame;

    scrollView.contentOffset = CGPointZero;

    scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);

    [yer renderInContext: UIGraphicsGetCurrentContext()];

    image = UIGraphicsGetImageFromCurrentImageContext();

    scrollView.contentOffset = savedContentOffset;

    scrollView.frame = savedFrame;

    }

    UIGraphicsEndImageContext();

    if (image != nil) {

    return image;

    }

    return nil;

    }

    3、合并多张图片

    - (UIImage *)composeWithHeader:(UIImage *)header content:(UIImage *)content footer:(UIImage *)footer{

    CGSize size = CGSizeMake(content.size.width, header.size.height +content.size.height +footer.size.height);

    UIGraphicsBeginImageContext(size);

    [header drawInRect:CGRectMake(0,

    0,

    header.size.width,

    header.size.height)];

    [content drawInRect:CGRectMake(0,

    header.size.height,

    content.size.width,

    content.size.height)];

    [footer drawInRect:CGRectMake(0,

    header.size.height+content.size.height,

    footer.size.width,

    footer.size.height)];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return image;

    }

    4、流媒体

    将音频、图片转成base64Binary

    +(NSData *)base64Encoded:(NSData *)data

    {

    //base64binary(流媒体)

    static char encodingTable[64] = {

    "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P",

    "Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f",

    "g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v",

    "w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/" };

    const unsigned char *bytes = [data bytes];

    NSMutableString *result = [NSMutableString stringWithCapacity:[data length]];

    unsigned long ixtext = 0;

    unsigned long lentext = [data length];

    long ctremaining = 0;

    unsigned char inbuf[3], outbuf[4];

    unsigned short i = 0;

    unsigned short charsonline = 0, ctcopy = 0;

    unsigned long ix = 0;

    while( YES )

    {

    ctremaining = lentext - ixtext;

    if( ctremaining <= 0 ) break;

    for( i = 0; i < 3; i++ ) {

    ix = ixtext + i;

    if( ix < lentext ) inbuf[i] = bytes[ix];

    else inbuf [i] = 0;

    }

    outbuf [0] = (inbuf [0] & 0xFC) >> 2;

    outbuf [1] = ((inbuf [0] & 0x03) << 4) | ((inbuf [1] & 0xF0) >> 4);

    outbuf [2] = ((inbuf [1] & 0x0F) << 2) | ((inbuf [2] & 0xC0) >> 6);

    outbuf [3] = inbuf [2] & 0x3F;

    ctcopy = 4;

    switch( ctremaining )

    {

    case 1:

    ctcopy = 2;

    break;

    case 2:

    ctcopy = 3;

    break;

    }

    for( i = 0; i < ctcopy; i++ )

    [result appendFormat:@"%c", encodingTable[outbuf[i]]];

    for( i = ctcopy; i < 4; i++ )

    [result appendString:@"="];

    ixtext += 3;

    charsonline += 4;

    }

    return [result dataUsingEncoding:NSUTF8StringEncoding];

    }

    这里调用上面的方法

    +(NSString *)loadingFile:(NSURL *)filepath

    {

    NSData * data = [[NSData alloc]initWithContentsOfURL:filepath];

    NSData * base64Data = [self base64Encoded:data];

    NSString * strBase64 = [[NSString alloc]initWithData:base64Data encoding:NSASCIIStringEncoding];

    return strBase64;

    //you can upload this base64Data to server now

    }

    推荐访问:截图 多张 合并 iOS开发之如何截图and如何合并多张图片等 ps合并多张图片 如何将多张图片合并

    • 读/观后感
    • 精美散文
    • 读书笔记
    • 演讲
    • 反思
    • 方案
    • 心得体会