いいアルゴリズムっていうか小技を教えて
■ このスレッドは過去ログ倉庫に格納されています
0140添削君
NGNG#define PBYTE(p,i) (( ( unsigned char *) p)[i])
void BlendProc( char *src,char *dst,char *back,int ByteSize,int ra,int rb)
{ int H,L,i;
int *s = (int*)src;
int *d = (int*)dst;
int *b = (int*)back;
while(ByteSize >= 4){
H = (( *s >> 8 ) & 0x00ff00ff) * ra;
L = ( *s & 0x00ff00ff) * ra;
s++;
H+= (( *d >> 8) & 0x00ff00ff) * rb;
L+= ( *d & 0x00ff00ff) * rb;
d++;
*b++ = (H & 0xff00ff00) | ((L >> 8) & 0x00ff00ff);
ByteSize -= 4;
}
for(i = 0;i < ByteSize;i++)
PBYTE(b,i) = ( PBYTE(s,i) * ra + PBYTE(d,i) * rb) >> 8;
}
■ このスレッドは過去ログ倉庫に格納されています