Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
1-1127472417
DelphiLexx
2005-09-23 14:46
2005.10.16
Соединение TImage линиями и их движение


1-1127599349
dominik
2005-09-25 02:02
2005.10.16
Unicode


5-1102660811
Denis_Ac
2004-12-10 09:40
2005.10.16
Изменение размеров потомка TCustomGroupBox


3-1125631152
DrAndrey
2005-09-02 07:19
2005.10.16
GETDATE() внутри User Defined Functions


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский