如何将颜色为C的像素显示为iPhone坐标(x,y)?

如何将颜色为C的像素显示为iPhone坐标(x,y)?,iphone,objective-c,Iphone,Objective C,我已经阅读了所有关于iPhone开发的苹果文档,但没有任何描述如何做到这一点。iPhone上的绘图不是以这种方式面向像素的。如果需要,可以在drawRect:方法中使用Quartz API绘制1x1大小的矩形: CGColorRef colorRef = CGColorCreateGenericRGB(r, g, b, a); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(

我已经阅读了所有关于iPhone开发的苹果文档,但没有任何描述如何做到这一点。

iPhone上的绘图不是以这种方式面向像素的。如果需要,可以在
drawRect:
方法中使用Quartz API绘制1x1大小的矩形:

CGColorRef colorRef = CGColorCreateGenericRGB(r, g, b, a);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, colorRef);
// This next line does the drawing; repeat for as many x,y pairs as you want.
CGContextFillRect(context, CGRectMake(x,y,1,1)); 
CGColorRelease(colorRef);
但是你不想用这种方法填满整个屏幕,它太慢了。你应该考虑向量:直线,矩形,其他多边形。这适用于Quartz(如上所述)和OpenGL


如果你真的在做某件事情,结果是一次渲染一个像素,填满整个屏幕,那么你最好使用Quartz创建一个屏幕外位图上下文,直接按像素写入位图内存,然后将整个事情绘制到
drawRect:
中的绘图上下文中。您还可以使用OpenGL绘制一系列单像素大小的GL_点(而不是三角形),速度可能会更快,具体取决于您所做的操作。

另请参见谢谢!学习石英…:)