iPhone,如何使用coregraphics从texturepage绘制?
我正在尝试解决如何使用CoreGraphics从纹理页面绘制 给定包含多个64x64压缩纹理的纹理页面(CGImageRef),如何将该页面中的子区域渲染到设备上下文中 CGContextDrawImage似乎只接受一个目标矩形。我注意到CGImageCreateWithImageInRect,但是这会创建一个新图像。我不想要一个新的图像,我只是想从原始图像中画出来 我相信这是可能的,不过我对iPhone的开发还不熟悉 非常感谢您的帮助iPhone,如何使用coregraphics从texturepage绘制?,iphone,rendering,core-graphics,texture-mapping,Iphone,Rendering,Core Graphics,Texture Mapping,我正在尝试解决如何使用CoreGraphics从纹理页面绘制 给定包含多个64x64压缩纹理的纹理页面(CGImageRef),如何将该页面中的子区域渲染到设备上下文中 CGContextDrawImage似乎只接受一个目标矩形。我注意到CGImageCreateWithImageInRect,但是这会创建一个新图像。我不想要一个新的图像,我只是想从原始图像中画出来 我相信这是可能的,不过我对iPhone的开发还不熟悉 非常感谢您的帮助 谢谢编辑:等一下。使用CGImageCreateWithI
谢谢编辑:等一下。使用CGImageCreateWithImageInRect。这就是它的目的 以下是我最初写的想法;如果它们有用,我就把它们留下
- 查看是否可以从另一个图像创建某种类型的子图像,以便它借用原始图像的缓冲区(非常类似于某些子字符串实现)。然后可以使用子图像进行绘制
- 核心图形可能更多地用于合成而不是图像处理,因此您可能必须在应用程序包中使用单独的图像文件。如果SDK文档没有特别推荐您正在做的事情,那么我建议您采用这种方式,因为这似乎是最简单、最自然的方式
- 您可以使用OpenGLES,在这种情况下,您可以指定多边形顶点的纹理坐标,以仅选择大纹理的该部分
- 查看是否可以从另一个图像创建某种类型的子图像,以便它借用原始图像的缓冲区(非常类似于某些子字符串实现)。然后可以使用子图像进行绘制
- 核心图形可能更多地用于合成而不是图像处理,因此您可能必须在应用程序包中使用单独的图像文件。如果SDK文档没有特别推荐您正在做的事情,那么我建议您采用这种方式,因为这似乎是最简单、最自然的方式
- 您可以使用OpenGLES,在这种情况下,您可以指定多边形顶点的纹理坐标,以仅选择大纹理的该部分
- CGImageCreateWithImageInRect有什么问题
CGImageRef subImage = CGImageCreateWithImageInRect(image, srcRect);
if (subImage) {
CGContextDrawImage(context, destRect, subImage);
CFRelease(subImage);
}
CGImageCreateWithImageInRect
有什么问题
CGImageRef subImage = CGImageCreateWithImageInRect(image, srcRect);
if (subImage) {
CGContextDrawImage(context, destRect, subImage);
CFRelease(subImage);
}
就性能而言,我不希望在每个渲染帧中多次创建新图像。我意识到我可以预缓存这些图像,但是我首先打包纹理页面的原因是性能原因。性能方面,我不想在每个渲染帧多次创建新图像。我意识到我可以预缓存这些图像,但是我首先打包纹理页面的原因是性能原因。