Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone应用程序中的图像策略_Iphone - Fatal编程技术网

iPhone应用程序中的图像策略

iPhone应用程序中的图像策略,iphone,Iphone,我正在为iPhone编写一个纸牌游戏,我不确定展示纸牌的最佳策略。我有一个基本的原型,它创建了一个UIImageView,可以用一个虚拟图像为每张卡拖动它。我想使用一个包含所有卡的面的大UIImage,然后让每个可拖动UIImageView显示该图像的一部分。我一定是误解了setBounds的用途——我认为它控制了显示底层图像的哪一部分。因此,有两个问题: 这是正确的方法吗 如何仅显示图像的一部分 根据您的解决方案,这可能不是最好的方法 发件人: 您应该避免创建UIImage 大于1024 x的

我正在为iPhone编写一个纸牌游戏,我不确定展示纸牌的最佳策略。我有一个基本的原型,它创建了一个UIImageView,可以用一个虚拟图像为每张卡拖动它。我想使用一个包含所有卡的面的大UIImage,然后让每个可拖动UIImageView显示该图像的一部分。我一定是误解了setBounds的用途——我认为它控制了显示底层图像的哪一部分。因此,有两个问题:

  • 这是正确的方法吗
  • 如何仅显示图像的一部分

  • 根据您的解决方案,这可能不是最好的方法

    发件人:

    您应该避免创建UIImage 大于1024 x的对象 大小为1024。除了数额巨大之外 这样的图像会消耗多少内存, 使用时可能会遇到问题 在OpenGL ES或中作为纹理的图像 将图像绘制到视图或 层。此大小限制不适用 如果您正在执行基于代码的 操作,例如调整 大于1024 x 1024像素的图像 通过将其绘制到位图 图形上下文。事实上,你可以 需要以这种方式调整图像的大小 (或者把它分成几个更小的部分 图像),以便将其绘制到 你的观点

    现在,您正在讨论将其拆分为几个较小的部分,但是考虑到UIIMage的缓存,我不确定每次访问该图像并从中复制一个子矩形时,内存会发生什么变化。我认为我将采取的方法是拥有一组图像,而不是一个大图像