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)