首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将CCSprite图片转换为UIImage格式?

如何将CCSprite图片转换为UIImage格式?
EN

Stack Overflow用户
提问于 2012-10-30 17:39:53
回答 4查看 3.4K关注 0票数 2

作为标题,我提到了下面的代码

代码语言:javascript
复制
CCSprite *sprite = (CCSprite *)node;
CCTexture2D *texture2d = [sprite texture];

如何从sprite中获取UIImage *p?

EN

回答 4

Stack Overflow用户

发布于 2013-02-18 16:59:38

在您的情况下,只需将next methood添加到您的类中:

代码语言:javascript
复制
 - (UIImage *) imageFromSprite :(CCSprite *)sprite
{
    int tx = sprite.contentSize.width;
    int ty = sprite.contentSize.height;

    CCRenderTexture *renderer   = [CCRenderTexture renderTextureWithWidth:tx height:ty];

    sprite.anchorPoint  = CGPointZero;

    [renderer begin];
    [sprite visit];
    [renderer end];

    return [renderer getUIImage];
}

使用方法:

代码语言:javascript
复制
CCSprite *sprite = (CCSprite *)node;
UIImage *p = [self imageFromSprite:sprite]
票数 6
EN

Stack Overflow用户

发布于 2013-06-05 09:13:08

呃..。

我认为这是一种更好的方式。将其添加为CCNode上的类别。

代码语言:javascript
复制
-(UIImage*)image {
    CCRenderTexture* renderer = [CCRenderTexture renderTextureWithWidth:self.contentSize.width height:self.contentSize.height];

    const CGPoint ANCHORBEFORE = self.anchorPoint;
    self.anchorPoint = CGPointZero;

    [renderer begin];
    [self visit];
    [renderer end];
    self.anchorPoint = ANCHORBEFORE;

    return [renderer getUIImage];
}
票数 4
EN

Stack Overflow用户

发布于 2012-10-30 23:12:42

如果使用是cocos2d 2.x,请将精灵渲染到CCRenderTexture中,并调用渲染纹理的getUIImage方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13136206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档