Главная страница
    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
3-1125917057
oradb
2005-09-05 14:44
2005.10.16
Blob, как параметр хранимой процедуры


2-1126683639
Dimon777
2005-09-14 11:40
2005.10.16
Как прорисовать Column.Field.DataType=ftBoolean


14-1127818421
Monk
2005-09-27 14:53
2005.10.16
InfoPower


1-1127727660
Sergey_R
2005-09-26 13:41
2005.10.16
StringGrid и иконки


11-1108035269
WhiteGuy
2005-02-10 14:34
2005.10.16
Немножко в KOLLISTBOX ;)





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