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

Вниз

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

 
Skier ©   (2005-02-08 17:57) [0]

Создал свой контрол с тенью, но меня не устраивает маска тени - тень получается слишком светлая

type
TShadowMask = array[0..7] of Word;

//маска тени...
ShadowMask : TShadowMask = ($0055, $00AA, $0055, $00AA, $0055, $00AA, $0055, $00AA);

этим паттерном я заполняю регион...

LPattern := TBitmap.Create;
LPattern.Handle := CreateBitmap(8, 8, 1, 1, @ShadowMask[0]);
//
LCanvas.Brush.Bitmap := LPattern;

и т.д.

Всё классно работает, но как бы масочку потемнее сделать...
Гадать с цветами в массиве больно хлопотно...

Может найдётся здесь добрый человек и присоветует мне что-нибудь
по этому поводу...


 
Игорь Шевченко ©   (2005-02-08 18:06) [1]


> но как бы масочку потемнее сделать...


Чем меньше значение цвета, тем он темнее. Не наводит на мысли ?


 
MBo ©   (2005-02-08 18:35) [2]

Вот смотри:
$55=01010101b
$AA=10101010b
т.е. у тебя чередуются черные и белые пикселы
(маска монохромная, ведущие нули - для выравнивания строк на 16 бит)

Здесь в каждой строке 4 черных пиксела. Тебе нужно больше черных - сделай соотв. бинарное представление и переведи его в hex, сдвигая каждый следующий байт влево или вправо во избежание верт. полосок.
Учти, что у тебя неизбежно будут возникать узоры.


 
MBo ©   (2005-02-08 18:50) [3]

пример для заполнения на 1/4
($0011, $0044, $0022, $0088, $0011, $0044,  $0022, $0088);


 
Skier ©   (2005-02-09 07:13) [4]

>MBo ©   (08.02.05 18:50) [3]
Большое спасибо за пример и особенно за разъяснения...



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

Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.049 c
14-1109833913
MBo
2005-03-03 10:11
2005.03.20
Четверговые задачки


1-1109932176
AngelOKES
2005-03-04 13:29
2005.03.20
Нужен алгоритм работы с огромными числами (до 200 десятичных зна)


8-1101746085
PitBult
2004-11-29 19:34
2005.03.20
Как записать в AVI всё что происходит на экране?


6-1105212252
Freedom
2005-01-08 22:24
2005.03.20
Сокеты


1-1110020389
hooch
2005-03-05 13:59
2005.03.20
RecordSet -> ClientDataSet





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