将 CALayer 子层压平为一层

2023-12-05

在我的应用程序中,我有一个根层,以及许多作为 rootLayer 的子层的图像。我想将 rootLayer 的所有子层展平为一个没有任何子层的层/图像。我认为我应该通过在核心图形上下文中绘制所有子图层来做到这一点,但我不知道该怎么做。

我希望你能理解我,并对我的英语感到抱歉。


来自您自己的 Mac OS X 示例:

CGContextRef myBitmapContext = MyCreateBitmapContext(800,600);
[rootLayer renderInContext:myBitmapContext];
CGImageRef myImage = CGBitmapContextCreateImage(myBitmapContext);
rootLayer.contents = (id) myImage;
rootLayer.sublayers = nil;
CGImageRelease(myImage);

iOS:

UIGraphicsBeginImageContextWithOptions(rootLayer.bounds.size, NO, 0.0);
[rootLayer renderInContext: UIGraphicsGetCurrentContext()];
UIImage *layerImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
rootLayer.contents = (id) layerImage.CGImage;
rootLayer.sublayers = nil;

另请注意文档中的警告:

Mac OS X v10.5 的实现 该方法不支持 整个核心动画组成 模型。 QCComposition层, CAOpenGLLayer 和 QTMovieLayer 层 没有渲染。另外,层 使用 3D 变换的不是 渲染,也不是指定的图层 背景滤镜,滤镜, compositingFilter,或掩码值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 CALayer 子层压平为一层 的相关文章

随机推荐

  • 使用MediaRecorder录制5秒的音频片段,然后上传到服务器

    我想录制用户麦克风 5 秒长的片段并将每个片段上传到服务器 我尝试使用 MediaRecorder 并以 5 秒的时间间隔调用 start 和 stop 方法 但是当我连接这些录音时 之间会发出 滴 声 所以我尝试使用 start 方法的
  • IE8 无法识别 [...] 的标签

    我有下面的CSS span label for Length width 90px display block text align right margin top 2px margin right 5px 与html span span
  • 使用 loadtxt 读取带有字符串和浮点数的文件

    我需要阅读以下位置提供的数据集这一页与蟒蛇 他们非常精确地定义了每列的数据类型 我如何使用 loadtxt 它是一个 numpy 函数 来读取这个数据集 我尝试在 dtype 选项中给出数据类型 但它不起作用 您链接的站点中的表格彼此非常不
  • WooCommerce - 按标签和类别划分的相关产品

    我想根据标签在我网站的每个产品页面中显示 8 个 相关产品 但如果少于 8 个结果 则填补同类别产品的空白 这是我用于仅显示与标签相关的产品的代码 functions php New Related Products function fo
  • 无法打印印地文字符

    public class demo public static void main String args for int k 2029 k lt 2360 k System out print k char k Output 2029 2
  • 模板成员函数上的外线 sfinae 是否可能?

    Demo A foo 的类声明中的 A struct A template
  • Spring.net - PropertyRetreeringFactoryObject - 属性为空

    试图解决this问题 我正在看看我们的 spring net 配置是如何工作的 根本问题来自于这个片段
  • Java 服务器,C# 客户端。发送数据

    因此 我在将数据从 C 客户端发送到 Java 服务器时遇到问题 连接正在进行中 但我猜我在某个地方弄乱了一些东西 这是服务器端代码 package com chris net import java io BufferedReader i
  • 控制台应用程序鼠标单击 X Y 坐标检测/比较

    我正在 C 控制台应用程序中开发一款游戏 纯粹是作为使用更好方法之前的练习 与使用诸如内置按钮功能的 Windows 窗体应用程序之类的东西相反 我努力抓住光标位置 我知道该怎么做 并将其与控制台应用程序内定义的多个区域进行比较也许是像素位
  • Solr 4.0 如何更改拼写检查分析器,使它们全部相同?

    我刚刚从 3 6 1 升级到 4 0 solr 拼写检查器停止工作 我正在使用标准配置 拼写请求处理程序来测试拼写检查 我不断收到 所有检查器需要使用相同的分析器 错误 https svn apache org repos asf luce
  • VS2013 上的目标 Windows Phone 8 项目

    当我在 VS2013 中创建新项目时 自动选择 Windows Phone 8 1 如何仅在 Visual Studio 2013 中更改 Windows Phone 8 的目标 请选择 Windows Phone Silverlight
  • MySQL为什么cursor.execute(sql, multi=True)不起作用但2cursor.execute(sql)起作用?

    这段代码的工作原理 sql TRUNCATE TABLE product groups cursor execute sql sql INSERT INTO product groups origin type name brand con
  • htaccess 帮助共存 Codeigniter 和 Wordpress 安装

    我的目的是拥有一个 codeigniter 应用程序 并在同一域下拥有一个博客 两者的管理员应该是分开的 目录结构是这样的 httpdocs htaccess httpdocs application lt CI installation
  • 将我的 jQuery 单击事件与现有对象的 onclick 属性混合

    我正在使用 jQuery 但处理从 JSF 页面生成的标记 许多元素都具有 JSF 代码提供的 onclick 属性 这不是我的领域 Example div submit div 我正在尝试使用 jQuery 添加一些客户端验证 我需要这样
  • AES 解密时,最终块未正确填充

    首先 我会告诉大家我的主要目标是什么 我将在客户端使用 AES 加密一些内容 然后使用 RSA 公钥加密重要的 AES 规范 并将 AES 加密数据和 RSA 加密 AES 规范发送到服务器 因此 在服务器上 我将使用 RSA 私钥解密 A
  • MySQL 用户定义的纬度经度语法函数

    我创建了一个 MySQL 函数来确定一组纬度和经度坐标是否在另一组纬度和经度坐标的特定范围内 但是 该函数给了我一个语法错误 因此我无法测试它是否正常工作 任何有助于找出导致错误的原因的帮助将不胜感激 该函数及其描述如下 它的工作原理是将起
  • RxAndroidBle 多种特性通知和读/写

    我在设置多个特征的通知时遇到问题 我已经查看了文档 许多示例仅涵盖了非常精细的情况 我的用例如下 1 扫描设备 2 用户选择要连接的设备 连接持续到应用程序关闭 3 订阅多种特性的通知 4 一次读 写单个特征 在某些情况下一次读 写多个特征
  • 我无法让程序正确读取输入文件中的值(二维数组)

    我的程序错误地读取了该值 当我尝试从此文件中获取值时 存在同样的问题 14 14 8 0 4 16 2 0 1 7 7 4 7 0 23 0 44 290 350 16 16 10 0 5 17 2 2 1 8 8 5 4 0 27 0 5
  • 解析 Amazon MWS Scratchpad 响应

    我正在尝试解析来自亚马逊的 xml 文件 但发现困难 我正在使用 simplexml load string xml simplexml load string 这里是我的 xml 但当我这样做时 echo xml gt GetMatchi
  • 将 CALayer 子层压平为一层

    在我的应用程序中 我有一个根层 以及许多作为 rootLayer 的子层的图像 我想将 rootLayer 的所有子层展平为一个没有任何子层的层 图像 我认为我应该通过在核心图形上下文中绘制所有子图层来做到这一点 但我不知道该怎么做 我希望