【问题标题】:Generating dynamic tiles for CATiledLayer为 CATiledLayer 生成动态切片
【发布时间】:2011-04-08 02:33:29
【问题描述】:

我已经看到了使用滚动视图和 CATiledLayers 的 WDC2010 Session 104,这一切都非常酷。但我不确定瓷砖图像的生成。该示例已经创建了青蛙平铺图片。但是,如果我有一个照片应用程序,我可以在其中拍摄自己的照片,我将需要自己创建图块,而且我不确定最好的方法。

最简单的方法是在我拍完照片并将其存储后,我会进行一些图像处理并创建我需要的所有可能的图块。但这意味着对于每张照片,我要存储更多文件并使用更多文件空间。

就在我需要照片之前,我将图块创建到一个临时目录中。完成查看部分后,我可以删除该临时目录。至少我在查看照片时只使用了额外的文件空间。但我会担心加载图像以创建图块,是否会引入用户注意到的延迟。

【问题讨论】:

    标签: ios catiledlayer


    【解决方案1】:

    您无需保存平铺图像。基本上,您将根据正在显示的矩形创建 UIImage/CGImage。

    我在这里做过类似的事情,效果很好,好处是它对内存非常有效。我根据正在显示的矩形动态生成 CGImage(大图像中的小图块),TiledLayer 在转储矩形时将其从内存中删除。我从不将 CGImage 保存到文件中。

    这种方法的缺点是它会在渲染中引入延迟……不适合在 iphone 3g 上玩游戏。

    【讨论】:

    • 关于如何从 UIImage 的一部分生成 CGImage 的任何示例代码?似乎问题在于您必须将整个 UIImage 加载到内存中,而多图块图像有助于解决这个问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多