十六進制整數的Alpha值我有這個循環,運行數千次(所以必須是有效的)。它改變位圖像素的值。動態更改
我希望能夠運行以爲環和「開關」一組特定像素阿爾法,然後再切換回在稍後的點。
我的問題是。 如何切換值?所以說,0xFFCC1BE0變爲0x00CC1BE0,然後如果我想切換回0xFFCC1BE0,我只需取00並將其轉爲FF。
我不能讓兩個位圖作爲我:-(
總之這裏出現內存不足的就是我這麼遠:
private void setTransparencyOnLightMap(float WidthPercentage, float LeftPosition)
{
int blankPixel = 0x00000000;
int savedPixel = 0x00000000;
int desiredAlpha = 200; //Can also be 0x00
//Find away of turning alhpa off and on.
for(int BMx = 0; BMx < mLightMap.getWidth(); BMx++)
{
for(int BMy = 0; BMy < mLightMap.getHeight(); BMy++)
{
if(mLightMap.getPixel(BMx, BMy) != blankPixel) //Make sure don't overwrite blank transparent pixels.
{
savedPixel = mLightMap.getPixel(BMx,BMy);
savedPixel = savedPixel | (desiredAlpha << 24);
mLightMap.setPixel(BMx, BMy, savedPixel);
}
}
}
}
這應該是'<< 24',而不是23參見[此Python代碼(HTTP://鍵盤.ORG/2s15Mqb6)。 – Eric
謝謝,我會改變它。 –
這是我第一次遇到按位運算符,只是花點時間去理解它們。 所以我可以切換舊的顏色? (沒有任何存儲正確?) –