相关疑难解决方法(0)

如何获取iphone上图像上像素的RGB值

我正在编写一个iPhone应用程序,并且需要在photoshop中实现与"eyedropper"工具相当的东西,在那里你可以触摸图像上的一个点并捕获相关像素的RGB值,以确定和匹配它的颜色.获取UIImage是一个简单的部分,但有没有办法将UIImage数据转换为位图表示,我可以在其中提取给定像素的信息?一个工作代码示例将是最受欢迎的,并注意我不关心alpha值.

iphone cocoa-touch image bitmap

37
推荐指数
4
解决办法
5万
查看次数

iOS 5 + GLKView:如何访问基于颜色的顶点拾取的像素RGB数据?

我一直在转换自己的个人OGLES 2.0框架,以利用新的iOS 5框架添加的功能GLKit.

在取悦结果之后,我现在希望实现这里描述的基于颜色的拾取机制.为此,您必须访问后台缓冲区以检索触摸的像素RGBA值,然后将其用作顶点/基元/显示对象的唯一标识符.当然,这需要对所有顶点/基元/显示对象进行临时唯一着色.

我有两个问题,我非常感谢你们的帮助:

  1. 我有权访问GLKViewController,GLKView,CAEAGLLayer(的GLKView)和EAGLContext.我还可以访问所有与OGLES 2.0缓冲区相关的命令.如何组合这些来识别我在屏幕上点击的EAGLContext中像素的颜色?

  2. 鉴于我正在使用顶点缓冲对象进行渲染,是否有一种巧妙的方法来覆盖提供给我的顶点着色器的颜色,首先不涉及修改缓冲的顶点(颜色)属性,其次不涉及添加一个IF语句进入顶点着色器?

我认为(2)的答案是"不",但出于性能和非艰苦的代码改造的原因,我认为与更有经验的人核实是明智的.

我们将非常感激地收到任何建议.感谢您的时间

UPDATE

我现在知道如何使用glReadPixels从活动帧缓冲区读取像素数据.所以我想我只需要对后台缓冲区进行特殊的"独特颜色"渲染,短暂切换到它并读取像素,然后切换回来.这将不可避免地产生视觉闪烁,但我想这是最简单的方法; 肯定比CGImageContextRef从屏幕快照创建一个并分析这种方式更快(也更明智).

尽管如此,关于后缓冲器的任何提示都将非常受欢迎.

pixel colors picking opengl-es-2.0 ios5

7
推荐指数
1
解决办法
4579
查看次数

标签 统计

bitmap ×1

cocoa-touch ×1

colors ×1

image ×1

ios5 ×1

iphone ×1

opengl-es-2.0 ×1

picking ×1

pixel ×1