2010-11-09 204 views
0

我希望屏幕上的每個像素在紅色,藍色,綠色,白色和黑色之間閃爍但是彼此獨立。這可能嗎?我一直在尋找無處不在的運氣。從何處開始的任何幫助將不勝感激。如何隨機更改屏幕上每個像素的顏色

+7

我期待着使用您的癲癇測試應用程序。 ;) – 2010-11-09 17:31:35

回答

6

你可以使用圖像。例如,在32位RGBA圖像中,每個像素由4個部分組成

red = 8 bits 
green = 8 bits 
blue = 8 bits 
alpha = 8 bits 

每個都可以設置爲0到255之間的值;

因此,您只需將圖像視爲字節數組並更改每個像素的顏色值即可。

Image image = CreateImage(); 

for(int i = 0; i < image.size(); i++) 
    image[i] = RandomNumberBetween(0, 255); 

或者從字節

int byteArray[width * height * 4]; 

for(int i = 0; i < width * height * 4; i++) 
     image[i] = RandomNumberBetween(0, 255); 

Image image = createImageFromByteArray(byteArray); 

你也可以創建一個簡單的OpenGL場景的陣列創造的形象,做它的着色器。

float rand(vec2 co){ 
    return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); 
} 

void main(void){ 
    gl_FragColor = rand(gl_TexCoord[0].xy); 
} 
+0

感謝您的迴應...它已經有一段時間,因爲我已經做了任何Java和即時通訊新的Android開發,所以對於愚蠢的問題抱歉,但這些工作的Android,我沒有看到任何東西在Android網站上說,使用圖像在android SDK上可用...它看起來像opengl會工作,但我不認爲即時通訊準備進入。有沒有其他方法可以使這個工作,或者你可以指出一些文檔解釋使用Android的圖像? – BOB 2010-11-09 20:56:51

+1

@BOB在開始提出特定問題之前,可能會幫助您徹底閱讀Android開發者文檔。那裏有很多有用的信息。在SDK文檔中簡單搜索「圖像」會告訴您有一種稱爲ImageView的顯示圖像的東西。 – 2010-11-09 21:08:33