返回

风兄,最近看你主页上的alpha混合代码,有点疑问unsigned short alpha_blender(unsigned int x,unsigned int y,unsigned int alpha){ x = (x | (x<<16)) & 0x7E0F81F; y = (y | (y<<16)) & 0x7E0F81F; unsigned int result = ((x - y) * alpha / 32 + y) & 0x7E0F81F; return (unsigned short)((result&0xFFFF) | (result>>16));}

这样的话如果蓝色( B位 )不够减的话,就是x的蓝色比y的蓝色深,好像要借位吧?这样 R位不就出错了么?这样传到到G位同样面临这个问题哦

名字: 自动排版 密码:

回复 | (2151) | qqpet | 2009-04-20 03:47:46