截屏分享

////7. 合并两张图片

+(UIImage*)appendingImage:(UIImage*)image1 toImage:(UIImage*)image2 {

    CGSizesize1 = image1.size;

    CGSizesize =CGSizeMake(MAX(size1.width, image2.size.width), size1.height+image2.size.height);

//然后用UIGraphics进行绘制拼接(在此之前必须将两个图片得宽度变为一致)

    UIGraphicsBeginImageContext(size);

    // Draw image1

    [image1drawInRect:CGRectMake(0,0, size.width, size1.height)];

    // Draw image2

    [image2drawInRect:CGRectMake(0, size1.height, image2.size.width, image2.size.height)];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    returnresultingImage;

}

////8.截屏

+(UIImage*)ScreenShot:(UIView*)view rect:(CGRect)rect{

//1.获取需要截取的view,计算截取的范围,缩放比例

    CGFloatscale = [UIScreenmainScreen].scale;

    CGSize size = CGSizeMake(rect.size.width, rect.size.height);

    UIGraphicsBeginImageContextWithOptions(size, NO,scale);//设置截屏大小

//用layer取出图片内容

    [view.layer renderInContext:UIGraphicsGetCurrentContext()];

//再用UIGraphics绘制内容image

    UIImage *viewImage =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

然后再用CGImageRef重绘图片(如果不重绘,你得到得缩放图片会有空白)

    CGImageRefimageRef =viewImage.CGImage;

    CGImageRefimageRefRect =CGImageCreateWithImageInRect(imageRef, rect);

    UIImage*sendImage =[[UIImagealloc]initWithCGImage:imageRefRect];

    CGImageRelease(imageRefRect);

    returnsendImage;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UIGraphicsBeginImageContext 创建一个基于位图的上下文(context),并将其设置为当...
    李前途阅读 3,258评论 1 4
  • 转自:http://www.code4app.com/blog-866962-1317.html1、设置UILab...
    MMOTE阅读 1,671评论 1 1
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 1,419评论 0 3
  • IOS常用代码总结 1、设置UILabel行间距 NSMutableAttributedString* attrS...
    难却却阅读 584评论 0 0
  • 日子: 闲曰年节均好过, 平常日子却难活, 人生苦短且珍惜, 岂可因噎任蹉跎。
    云之憾阅读 215评论 0 0