Re: flip bitmap

From
Eugene Kilachkoff ()
To
Borislav Ageev
Date
2003-01-06T20:43Z
Area
RU.ALGORITHMS
From: Eugene Kilachkoff <zeus@hippo.ru>

Borislav Ageev пишет:
>  издыхаю над следующей задачей. есть двубитный спрайт, надо
Что такое двубитный ? Два бита на пиксель ? Впрочем, это не так 
важно. Байт переворачивается примерно так:

- ---
byte mirror(byte x)
{
   x= ((x & 01010101b)<<1) | ((x & 10101010b)>>1);
   x= ((x & 00110011b)<<2) | ((x & 11001100b)>>2);
   x= ((x & 00001111b)<<4) | ((x & 11110000b)>>4);
   return x;
}
- ---
Для скорости можно еще табличку сделать для всех значений байта. 
Ну, а имея перевернутые байты, перевернуть слова (или нечто 
большей разрядности) труда не составляет.

--- ifmail v.2.15dev5
 * Origin: IAC Samara-Internet, Ltd. (2:5020/400)