Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

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

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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1110033485
ПроНыРа
2005-03-05 17:38
2005.03.20
ToolBar


3-1108631800
AndrewKsionz
2005-02-17 12:16
2005.03.20
Как поместить картинку jpeg в Graphic-поле


4-1107412855
vratar
2005-02-03 09:40
2005.03.20
Защита диска от копирования


14-1109327484
Anatoly Podgoretsky
2005-02-25 13:31
2005.03.20
Какой злой сегодня Error 500


1-1110108926
WST
2005-03-06 14:35
2005.03.20
CheckListBox