`

(转)把两个Layer融合成一个UIImage的截图方法

 
阅读更多
    //layer1

        CCLayer *layer1 = [CCLayer node];

        CGPoint p1 = layer1.anchorPoint;

        [layer1 setAnchorPoint:ccp(0,0)];

        CCRenderTexture *renderer01 = [CCRenderTexture renderTextureWithWidth: layer1.contentSize.width height: layer1.contentSize.height];

        [renderer01 begin];

        [layer1 visit];

        [renderer01 end];

        [layer1 setAnchorPoint: p1];

        UIImage *image1 = [UIImage imageWithData:[renderer01 getUIImageAsDataFromBuffer:kCCImageFormatPNG]];

    //layer2

       CCLayer *layer2 = [CCLayer node];

       CGPoint p2 = layer2.anchorPoint;

       [layer2 setAnchorPoint:ccp(0,0)];

       CCRenderTexture *renderer02 = [CCRenderTexture renderTextureWithWidth: layer2.contentSize.width height: layer2.contentSize.height];

       [renderer02 begin];

       [layer2 visit];

       [renderer02 end];

       [layer2 setAnchorPoint: p2];

       UIImage *image2 = [UIImage imageWithData:[renderer02 getUIImageAsDataFromBuffer:kCCImageFormatPNG]];   

        //GC来了两个层开始融合

        UIImage *image;

        if (UIGraphicsBeginImageContextWithOptions != NULL) {

            UIGraphicsBeginImageContextWithOptions(srcSize, YES, 0);

        } else {

            UIGraphicsBeginImageContext(srcSize);

        }

        [image1 drawInRect:CGRectMake(0, 0, srcSize.width, srcSize.height)];

        [image2 drawInRect:CGRectMake(0, 0, srcSize.width, srcSize.height)];

        image = UIGraphicsGetImageFromCurrentImageContext();

        UIGraphicsEndImageContext();
分享到:
评论

相关推荐

    iOS 录制视频流 转uiimage

    之后,使用Core Graphics的CGBitmapContextCreateWithCGImage方法将CIImage转换为CGImage,最后通过UIImage的initWithCGImage:方法创建UIImage。 为了实现边录制边播放的效果,我们需要利用AVPlayerItem和AVPlayer...

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    在iOS和macOS开发中,`NSData`、`NSString`以及`UIImage`是常见的数据类型,它们在不同的场景下有着各自的用途。理解并熟练掌握它们之间的转换是非常重要的,这有助于我们处理各种数据和资源。下面将详细介绍这些...

    UIImage-PDF.zip

    分类中的主要方法可能包括`+imageWithPDFNamed:`和`+imageWithPDFData:`,这两个方法分别接受一个PDF文件名或PDF数据,然后返回一个表示PDF第一页面的`UIImage`对象。这样,开发者就可以在UIImageView或者任何其他...

    OC Extension UIImage+FHXImage(图片扩展).zip

    注意:.m文件小了一个方法 ,下载下来把它复制进去 /** 加载gif动画 */ +(UIImage*)loadGifWithImageName:(NSString *)name{ NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"gif"]; ...

    UIImage+Sprite+Animmation

    `UIImage+Sprite+Additions`可能是这个库或框架的名称,它提供了一些类别方法来增强原生`UIImage`的功能。 首先,我们来理解一下“精灵”(Sprite)。在游戏编程中,精灵通常指的是独立的、可移动的图形对象,它们...

    UIImage 图片处理:截图,缩放,设定大小,存储_蓝科教育

    截图是将 UIView 转换为 UIImage 的过程,在这里我们将介绍两种截图的方法:一是通过 Quartz Framework 和 Core Graphics Framework 实现截图,二是使用 UIGraphicsBeginImageContext() 函数来实现截图。 第一种...

    UIImage+ImageEffects

    这个类扩展了系统自带的`UIImage`类,添加了自定义的模糊效果方法,使得开发者可以方便地为图片赋予各种视觉效果。 首先,我们要理解iOS中的模糊效果是如何实现的。在iOS 7之后,苹果引入了`UIBlurEffect`和`...

    WebP-UIImage-源码.rar

    这个“WebP-UIImage-源码.rar”压缩包可能包含了用Objective-C或Swift实现的iOS平台上对WebP图像格式的支持,使得开发者可以直接在UIImage对象中加载和显示WebP图片。 在iOS开发中,UIImage是苹果提供的一个关键类...

    给图片增加水印 UIImage+Category

    实现文件中,这两个方法会创建一个带水印的新UIImage,并将其设置为UIImageView的图像,从而实现动态添加水印的效果。 使用这些Category的方法,我们可以非常方便地在代码中添加水印。例如: ```objc UIImage *...

    UIIMage 改变颜色和遮罩

    在iOS开发中,UIImage是苹果提供的一个关键类,用于显示和处理图像。当你需要对图片进行颜色调整或添加遮罩效果时,可以利用UIKit框架中的各种方法和属性来实现。下面将详细介绍如何改变UIImage的颜色以及如何应用...

    IOS应用源码——UIImage+Sprite for iOS.rar

    在iOS开发中,UIImage是苹果提供的一个核心类,用于处理和显示图像。这个"UIImage+Sprite for iOS"的源码库显然扩展了UIImage类,增加了精灵(Sprite)功能,这通常用于2D游戏或者需要高效处理多帧动画的场景。在iOS...

    几个iphone uiimage resize 的类

    2. 自定义UIImage类别:为了方便地处理UIImage的resize操作,开发者常常创建一个扩展或子类,添加自定义方法。这些方法可能包括`resizeToSize:`或`scaleToSize:`,接收一个`CGSize`参数,内部实现上述的CGImageRef...

    ios开发UIImage category实现添加水印(图片和文字)

    在UIImage的Category中,我们可以定义一个或多个方法,专门用于添加水印。 1. **创建Category** 在Xcode中新建一个Objective-C文件,选择Category模板,命名如"UIImage+Watermark.h"和"UIImage+Watermark.m"。在.h...

    ios UIImage category 图片加载

    为了避免这个问题,我们可以自定义一个`UIImage`的分类,提供一个新的图片加载方法。例如,我们可以创建一个名为`UIImage+imageFileNamed`的category,实现一个类似`imageWithFileNamed:`的方法。这个方法可以读取...

    iOS uiimage部分截取图片

    "stretchableImageWithLeftCapWidth"和"resizableImageWithCapInsets"这两个方法是UIImage的重要功能,用于实现这样的需求。 首先,我们来看`stretchableImageWithLeftCapWidth:`这个方法。它允许我们将图像的某个...

    iOS图片压缩---UIImage+Wechat

    UIImage+Wechat 是一个专门用于图片压缩的优秀框架,旨在帮助开发者有效地减小图片的大小,同时保持较高的图像质量。这个框架在处理图片时,不仅关注压缩比例,还着重于保持图片的像素质量,以避免过多的图像失真。 ...

    swift-给UIView或UIImage高性能添加圆角生成渐变色图片等

    在Swift编程语言中,对UIView或UIImage进行高性能的圆角处理和生成渐变色图片是常见的图像操作。这些操作在用户界面设计中尤其重要,因为它们可以提升应用的视觉效果和用户体验。以下将详细介绍如何实现这些功能。 ...

    UIImage-Conversion:将UIImage对象转换为位图数组(RGBA8)的简单类

    这是一个示例项目和代码,可在UIImage对象和RGBA8位图之间进行转换。 该示例项目与iPhone 4 / iPad 3.2兼容。 ImageHelper可与iPhone 4和Retina显示器配合使用,并使用正确的比例因子和高分辨率图像。 基本示例...

    swift-UIImage分类包含根据颜色生成图片等功能

    这个名为"swift-UIImage分类包含根据颜色生成图片等功能"的项目,显然扩展了UIImage的功能,通过创建一个分类(Category)来添加自定义的方法。在iOS应用开发中,这样的分类是一种常见的做法,它允许我们为已有的类...

Global site tag (gtag.js) - Google Analytics