UIImages 的图像尺寸是 1024 x 1024?

2023-11-27

苹果文档指出:

您应该避免创建大于 1024 x 的 UIImage 对象 大小为 1024。除了大量的内存之外,这样的图像还会 消耗,使用图像作为纹理时可能会遇到问题 在 OpenGL ES 中或将图像绘制到视图或图层时。这个尺寸 如果您正在执行基于代码的操作,则限制不适用 操作,例如调整大于 1024 x 1024 的图像大小 通过将其绘制到位图支持的图形上下文来获取像素。事实上,你 可能需要以这种方式调整图像大小(或将其分成几个 较小的图像)以便将其绘制到您的视图之一。

我认为这意味着如果我们正在处理非方形图像,我们应该将它们分成更小的图像?有没有这方面的具体文件或解释,或者有人有任何经验提示吗?

谢谢阅读。


在 A5 之前的 iOS 设备上,最大 OpenGL ES 纹理大小为 2048x2048(Apple 文档在这方面的说法是不正确的,称其为 1024x1024)。这意味着图像的任一维度都不能大于该图像。较新的 iOS 设备(iPhone 4S、iPad 2、iPad 3)的最大纹理尺寸为 4096x4096。

这并不意味着您必须拥有方形图像,只是图像的宽度或高度不得超过 2048(同样,在较新的设备上为 4096)。如果您尝试这样做,我相信您的图像只会呈现为黑色。

这曾经是所有不受 CATiledLayer 支持的 UIView 的限制,但我相信它们现在会自动平铺在足够大的视图上。如果您需要处理大于 2048x2048 的图像,则需要将其托管在 CATiledLayer 等中。

不过,内存警告值得关注。图像以未压缩的形式存储在内存中,无论其来源如何,因此您会看到每个 2048x2048 图像有 16,777,216 字节(对于 RGBA,每个像素 4 字节)。如果你不小心的话,这个数字会很快增加。

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

UIImages 的图像尺寸是 1024 x 1024? 的相关文章

随机推荐

  • MySQL 中的 DOUBLE 与 DECIMAL

    好的 所以我知道有大量文章指出我不应该使用 DOUBLE 在 MySQL 数据库上存储资金 否则我最终会遇到棘手的精度错误 重点是我不是在设计一个新的数据库 而是要求我找到优化现有系统的方法 新版本包含 783 个 DOUBLE 类型列 其
  • 在Android中使用jobb工具

    我正在运行以下命令来获取加密的 obb 文件以进行 apk 扩展 jobb d home manoj Desktop Test o main 1 com example helloworld obb k manoj pn com examp
  • Django Rest Framework 在 POST 中接收主键值并将模型对象作为嵌套序列化器返回

    我不完全确定我的问题的标题是否像我希望的那样具体 但情况是这样的 我有一个HyperlinkedModelSerializer看起来像这样 class ParentArrivalSerializer serializers Hyperlin
  • 如何在magento中获取当前产品的类别名称(在产品详细信息页面上)

    我使用了以下代码 但不适用于这种情况 category detail Mage registry current category echo category detail gt getName got 致命错误 在 app design
  • 视图未附加到窗口管理器(解决方案是什么?)

    我从我的应用程序中收到了数百个错误报告 而且所有错误报告都是相同的 这真的很烦人 因为在我的测试设备 HTC Wildfire Galaxy S I II III Galaxy Mini Galaxy Tab 10 中 这个错误从未发生过
  • x86 中“PAUSE”指令的用途是什么?

    我正在尝试创建一个自旋锁的愚蠢版本 浏览网页时 我在 x86 中发现了一条名为 PAUSE 的汇编指令 该指令用于向处理器提示自旋锁当前正在该 CPU 上运行 英特尔手册和其他可用信息指出 处理器使用此提示来避免内存顺序冲突 大多数情况下
  • Swift Playgrounds:替换 captureValue(_:withIdentifier:)

    Xcode 7 3已弃用 XCPlaygroundPage currentPage captureValue withIdentifier 它的前身 XCPCaptureValue was 已弃用在 Xcode 7 1 中 我想知道除了集合
  • 非凸优化器

    我使用 python2 7 需要找到多元标量函数的最大值 换句话说 我有这个功能 def myFun a b c d e f complex calculation that takes about 30 seconds return re
  • Python中的(1,)和(1)有什么区别[重复]

    这个问题在这里已经有答案了 正如标题所述 我发现 1 and 1 是不同的 但它们有什么区别呢 In 39 1 1 Out 39 False 试试这个来说服自己 gt gt gt type 1
  • 将 JavaScript 变量传递给 AngularJs ng-init

    我定义了以下 javascript 变量并需要传递memId值传入 AngularJs init 函数 div class mini 我收到错误 memId没有定义 您需要使用 角度 方式来完成此操作 window var app angu
  • 如何以最小的影响重新启动 CSS 动画

    有没有一种方法可以重新启动 CSS 动画 而无需克隆元素 回流 DOM 等待 setTimeout onAnimationEnd EDIT 无需 jQuery 或检查 我基本上只是在下一个绘制的帧处重新启动动画 此方法不会克隆任何元素 重排
  • 处理带有未知 IPv6 扩展标头的数据包

    Question 是否应该丢弃带有未知 IPv6 扩展标头的数据包 Details 我无法通过检查找到这个问题的答案RFC 这本书IPv6 要点第 22 页指出 如果节点需要下一个标头但无法识别下一个标头字段中的值 则需要丢弃该数据包并向数
  • 在C#中,如何可靠地杀死进程树[重复]

    这个问题在这里已经有答案了 在 C 中 我们使用以下代码来终止进程树 有时有效 有时无效 可能与 Windows 7 和 或 64 位有关 它找到给定进程的子进程的方法是调用GetProcesses获取系统中的所有进程 然后调用NtQuer
  • Airplay 按钮未显示在 AVPlayer 的播放器控件中

    我使用 AVPlayer 和 AVPlayerViewController 创建了一个视频播放器 我已经设定 allowsExternalPlayback 财产至真也 usesExternalPlaybackWhileExternalScr
  • apk (.apk) 和应用程序包 (.aab) 之间的区别

    最近谷歌推出了一个新功能app bundle这与 APK 的概念非常相似 除了灵活性和架构差异之外 我阅读了很多博客 文章来了解应用程序包与 APK 文件相比如何在设备中工作 App Bundle 的实际内部工作流程是什么 它如何在从 Go
  • 将标记替换为 html 内容

    我一直在搜索 Google Map API V3 文档 但找不到任何方法来使用我自己的 html 内容而不是图像在地图上创建自定义图标 我想显示一个动态标记 可以显示文本或我想要的任何内容 例如 div class marker Dynam
  • Java打印包含多个整数的字符串

    今天刚开始学习java 似乎无法弄清楚这一点 我正在关注 learnjavaonline org 上的教程 该教程会教您一些内容 然后要求您编写代码来执行特定操作 然后检查输出以查看其是否正确 问题是 如果它不正确 它不会说明原因 也不会为
  • Anaconda 安装后运行 pyinstaller 会导致 ImportError: no Module named 'pefile'

    I did conda install c acellera pyinstaller 3 2 3 as per Anaconda 的网站看起来它安装正确 但如果我尝试通过 cmd 运行它 我会得到以下信息 C Users Cornelis
  • 增加该值(如果存在),否则在 DynamoDB 中添加新条目

    我有一个 DynamoDB 表 其列和主键为ipAddress IP地址 visits 我从我的 React 网站获取用户的 IP 地址 并通过 Lambda 函数和 API Gateway POST 请求将其插入到 DynamoDB 如果
  • UIImages 的图像尺寸是 1024 x 1024?

    苹果文档指出 您应该避免创建大于 1024 x 的 UIImage 对象 大小为 1024 除了大量的内存之外 这样的图像还会 消耗 使用图像作为纹理时可能会遇到问题 在 OpenGL ES 中或将图像绘制到视图或图层时 这个尺寸 如果您正