为CATiledLayer生成动态切片

时间:2010-09-03 23:55:46

标签: ios catiledlayer

我已经看过使用scrollviews和CATiledLayers的WDC2010 Session 104,这一切都非常酷。但我不确定平铺图像的生成。该示例已经创建了青蛙图片图片。但如果我有一个照片应用程序,我正在拍摄自己的照片,我将需要自己制作照片,我不确定最好的方法。

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

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

1 个答案:

答案 0 :(得分:1)

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

我在这里做了类似的事情并且效果很好,奖励是内存效率非常高。我根据显示的rect动态生成CGImage(大图像中的小图块),TiledLayer在转储rect时将其从内存中删除。我从不将CGImage保存到文件中。

这种方法的缺点是它在渲染中引入了延迟...对于iPhone 3g上的游戏不好。