2010-05-21 73 views
1

我已經閱讀了關於iPhone開發的所有Apple文檔,並且沒有任何內容描述如何執行此操作。如何將顏色C的像素顯示到iPhone座標(x,y)?

+1

另請參閱http://stackoverflow.com/questions/313018/how-do-i-draw-a-point-using-core-graphics – 2010-05-21 21:17:52

+0

請參閱http://stackoverflow.com/questions/389289 – Shaji 2010-05-21 21:19:19

回答

0

iPhone上的繪圖不是以這種方式像素化的。您可以使用石英API繪製尺寸爲1x1的矩形,如果你想在你的drawRect:方法:

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_POINT(而不是三角形),這可能會更快取決於你在做什麼。

+0

謝謝!學習Quartz ... :) – LikeToCode 2010-05-22 00:07:14