2013-09-05 41 views
1

我有以下代碼片段,它以十六進制格式讀取像素值。重新分配新的十六進制值到Uint32 *

Uint32* MyPixel = pixels + ((iH-1) + image->w) + iW; 
printf("\npixelvalue is is : %x",*MyPixel); 

如何將一個新的十六進制值重新分配到* MyPixel中,因爲我試過這個不起作用。

*MyPixel = "00FF00"; 
+0

使用'* MyPixel = 0xFF00;' – simonc

回答

2

"00FF00"是一個字符串文字。你需要一個十六進制整數文字:

*MyPixel = 0x00FF00; 

前綴0x告訴的數字文字的其它需求被解釋爲一個數字的十六進制常量的編譯器。

+0

確定它的工作原理,但不幸的是像素沒有改變它的值無所謂讓我看看它。 – user2711681

+1

@實際上它基於SDL代碼,因此mypixl指向由所有像素組成的結構 – user2711681

+0

請注意,您將值指定給「未初始化」變量,因爲它不指向任何內存空間。 – KevinDTimm