如何将SKNode渲染到UIImage

所以在它

只是玩弄SpriteKit,试图弄清楚如何将SKNode的“抓取”捕获到UIImage中。

对于UIView(或UIView子类),我使用layer了视图属性来渲染到图形上下文中。

例如。

#import <QuartzCore/QuartzCore.h>
+ (UIImage *)imageOfView:(UIView *)view {
    UIGraphicsBeginImageContextWithOptions(view.frame.size, YES, 0.0f);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [view.layer renderInContext:context];
    UIImage *viewShot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return viewShot;
}

SKNode不是UIView的子类,因此似乎没有层的支持。

关于如何将给定的SKNode渲染到UIImage的任何想法?

学习Cocos2D

这将捕获整个场景:

CGRect bounds = self.scene.view.bounds;
UIGraphicsBeginImageContextWithOptions(bounds.size, NO, [UIScreen mainScreen].scale);
[self drawViewHierarchyInRect:bounds afterScreenUpdates:YES];
UIImage* screenshotImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

如果只需要特定的节点分支,则可以在截屏之前隐藏所有不想捕获的节点。您还可以使用转换为UIKit坐标的累积框架仅捕获节点及其所涉及的子节点的区域。

或者,您可以SKTexture从节点层次结构的特定部分获取一个

SKTexture* tex = [self.scene.view textureFromNode:yourNode];

在iOS 9之前,无法将转换SKTextureUIImage现在,这很简单:

UIImage *image = [UIImage imageWithCGImage:tex.CGImage];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将SCNScene渲染到纹理

来自分类Dev

如何将URL Shema与UIImage共享到Instagram应用?

来自分类Dev

如何将纹理渲染到Android GLSurfaceView

来自分类Dev

如何将javascript渲染模块集成到scrapy?

来自分类Dev

如何将图像渲染到JTable单元

来自分类Dev

React:如何将数据渲染到组件中?

来自分类Dev

如何将纹理渲染到Android GLSurfaceView

来自分类Dev

如何将 byte[] 图像渲染到 JSP?

来自分类Dev

如何将视频从 youtube iframe 渲染到画布中?

来自分类Dev

UILabel 渲染到 UIImage

来自分类Dev

如何将图像从解析加载到UIImage到UITableViewCell Swift中

来自分类Dev

如何将PHAsset与UIImage进行比较

来自分类Dev

如何将模板渲染到另一个模板的插座中

来自分类Dev

如何将道具导入到组件中正在渲染的功能中

来自分类Dev

ReactJS:尽管渲染了新元素,如何将元素固定到当前位置?

来自分类Dev

如何将服务器端渲染中的数据从节点传递到reactjs组件

来自分类Dev

如何将联系人列表结果显示到渲染视图容器中

来自分类Dev

如何将渲染的内容写入文件

来自分类Dev

如何将渲染的内容写入文件

来自分类Dev

如何将数据库中的数据渲染到ActiveAdmin生成的仪表板页面中?

来自分类Dev

如何将UIImage保存为透明PNG?

来自分类Dev

如何将UIImage序列化为JSON?

来自分类Dev

如何将tintColor应用于UIImage?

来自分类Dev

如何将十六进制数据转换为UIImage?

来自分类Dev

如何将didFinishPickingMedia与多个UIImage一起使用

来自分类Dev

如何将UIImage保存为透明PNG?

来自分类Dev

React:在容器内如何将组件渲染到另一个组件而不重新渲染其他组件?

来自分类Dev

将uiview渲染为uiimage的问题

来自分类Dev

如何将渲染变换应用于鼠标位置

Related 相关文章

  1. 1

    如何将SCNScene渲染到纹理

  2. 2

    如何将URL Shema与UIImage共享到Instagram应用?

  3. 3

    如何将纹理渲染到Android GLSurfaceView

  4. 4

    如何将javascript渲染模块集成到scrapy?

  5. 5

    如何将图像渲染到JTable单元

  6. 6

    React:如何将数据渲染到组件中?

  7. 7

    如何将纹理渲染到Android GLSurfaceView

  8. 8

    如何将 byte[] 图像渲染到 JSP?

  9. 9

    如何将视频从 youtube iframe 渲染到画布中?

  10. 10

    UILabel 渲染到 UIImage

  11. 11

    如何将图像从解析加载到UIImage到UITableViewCell Swift中

  12. 12

    如何将PHAsset与UIImage进行比较

  13. 13

    如何将模板渲染到另一个模板的插座中

  14. 14

    如何将道具导入到组件中正在渲染的功能中

  15. 15

    ReactJS:尽管渲染了新元素,如何将元素固定到当前位置?

  16. 16

    如何将服务器端渲染中的数据从节点传递到reactjs组件

  17. 17

    如何将联系人列表结果显示到渲染视图容器中

  18. 18

    如何将渲染的内容写入文件

  19. 19

    如何将渲染的内容写入文件

  20. 20

    如何将数据库中的数据渲染到ActiveAdmin生成的仪表板页面中?

  21. 21

    如何将UIImage保存为透明PNG?

  22. 22

    如何将UIImage序列化为JSON?

  23. 23

    如何将tintColor应用于UIImage?

  24. 24

    如何将十六进制数据转换为UIImage?

  25. 25

    如何将didFinishPickingMedia与多个UIImage一起使用

  26. 26

    如何将UIImage保存为透明PNG?

  27. 27

    React:在容器内如何将组件渲染到另一个组件而不重新渲染其他组件?

  28. 28

    将uiview渲染为uiimage的问题

  29. 29

    如何将渲染变换应用于鼠标位置

热门标签

归档