Главная страница
    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.031 c
2-1126083541
worldmen
2005-09-07 12:59
2005.10.16
Форматирование даты.


2-1126509738
Гость3
2005-09-12 11:22
2005.10.16
Программа в Трее


2-1126638647
_zx
2005-09-13 23:10
2005.10.16
а как OpenDialog1 показать?


2-1127097538
antikaban
2005-09-19 06:38
2005.10.16
Открытие файла


2-1125567964
intel
2005-09-01 13:46
2005.10.16
поиск файлов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский