十六进制整数的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
谢谢,我会改变它。 –
这是我第一次遇到按位运算符,只是花点时间去理解它们。 所以我可以切换旧的颜色? (没有任何存储正确?) –