Вниз
Скачать: CL | DM;

Макрос   Найти похожие ветки 

← →
Goga ©   (2005-09-24 00:11) [0]

Если не трудно переведите мне это на DELPHI

#define RAS_GETBLUE(x) (((x) >> 16) & 0xff)
#define RAS_GETGREEN(x) (((x) >> 8) & 0xff)
#define RAS_GETRED(x) ((x) & 0xff)

#define RAS_BLUE(x) (((x) & 0xff) << 16)
#define RAS_GREEN(x) (((x) & 0xff) << 8)
#define RAS_RED(x) ((x) & 0xff)

#define RAS_ROWSIZE(hdr) \
((((hdr)->width * (hdr)->depth + 15) / 16) * 2)
#define RAS_ISRGB(hdr) \
((hdr)->depth == 24 || (hdr)->depth == 32)

#define RAS_ONES(n) \
(((n) == 32) ? 0xffffffffU : ((1 << (n)) - 1))


← →
palva ©   (2005-09-24 00:21) [1]

На делфи это не переводится. Если очень надо использовать макросы, можно оставить это на макроязыке, но перед делфи-компиляцией запускать автономный сишный препроцессор (по-моему он называется cpp32.exe) Сами макросы, конечно же, надо переделывать.


← →
DrPass ©   (2005-09-24 13:11) [2]

"В лоб" не переводится. А заменить аналогичным и подходящим по смыслу - легко

function RAS_GETBLUE(x: integer): integer;
begin
 result:=(x shr 15) and $ff;
end;

и т.д.
И даже ничего не придется менять в коде. А если используется Delphi 2005, то можно объявить ее как
function RAS_GETBLUE(x: integer): integer; inline;
- чтобы эффект был на 100% такой, как при использовании этих макросов


← →
Goga ©   (2005-09-24 14:24) [3]

DrPass ©   (24.09.05 13:11) [2]
Спасибо


← →
марсианин ©   (2005-09-24 20:08) [4]


> #define RAS_GETBLUE(x) (((x) >> 16) & 0xff)
> #define RAS_GETGREEN(x) (((x) >> 8) & 0xff)
> #define RAS_GETRED(x) ((x) & 0xff)
>
> #define RAS_BLUE(x) (((x) & 0xff) << 16)
> #define RAS_GREEN(x) (((x) & 0xff) << 8)
> #define RAS_RED(x) ((x) & 0xff)

микрософт уже придумал макросы на все случаи жизни:

см. RGB, GetRValue, GetGValue, and GetBValue



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
2-1126806930
Гость22
2005-09-15 21:55
2005.10.16
Что такое тригер в БД и для чего он предназначен?


14-1127425578
Eraser
2005-09-23 01:46
2005.10.16
Multicast


3-1125640655
-=snoop=-
2005-09-02 09:57
2005.10.16
Добавление записей в таб...


2-1126616707
Гость22
2005-09-13 17:05
2005.10.16
В чем ошибка?


2-1126952706
Ivan78
2005-09-17 14:25
2005.10.16
Запрос по полю TimeStamp




   Наверх