目前已知天神乱漫有问题
其他至少要合成都没问题,因为基本我都会去合成
引用:
if (tlg5_header->colors == 4) {
BYTE *b = out;
DWORD pixels = tlg5_header->width * tlg5_header->height;
for (i = 0; i < pixels; ++i) {
b[0] = b[0] * b[3] / 255 + (255 - b[3]);
b[1] = b[1] * b[3] / 255 + (255 - b[3]);
b[2] = b[2] * b[3] / 255 + (255 - b[3]);
b += 4;
}
}
引用:
BYTE *b = out;
DWORD pixels = tlg6_header->width * tlg6_header->height;
for (i = 0; i < pixels; ++i) {
b[0] = b[0] * b[3] / 255 + (255 - b[3]);
b[1] = b[1] * b[3] / 255 + (255 - b[3]);
b[2] = b[2] * b[3] / 255 + (255 - b[3]);
b += 4;
}
看代码好像没问题
完整的blenging应该是
for (i = 0; i < pixels; ++i) {
b[0] = ( b[0] * b[3] + background * ( 255 - b[3] ) ) / 255;
b[1] = ( b[0] * b[3] + background * ( 255 - b[3] ) ) / 255;
b[2] = ( b[0] * b[3] + background * ( 255 - b[3] ) ) / 255;
b += 4;
}
汉公设置blending背景色为白色,也就是说background是0xFF,即255,化简就是上面的
[
本帖最后由 haibara 于 2009-11-03 01:23 编辑 ]