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

Вниз

DelphiX   Найти похожие ветки 

 
XeN   (2001-12-26 17:59) [0]

Народ! Как на DelphiX можно рисовать на TDXDraw картинку, которая постепенно пропадает. DrawAlpha не катит, слишком уж тормозит.


 
XeN   (2001-12-27 09:39) [1]

Неужели никто не знает?


 
ZEE   (2001-12-27 10:54) [2]

На счет TDXDraw не знаю, но вот тебе небольшая процедура, которая постепенно "гасит" (затемняет) изображение (ее надо выполнять несколько раз)
bmResult - витмап для затемнения
iAlpha - величина "незатемнения" (т.е. чем она больше - тем большее кол-во раз надо вызывать процедуру до полного затемнения)


procedure DropShadow24(iX,iY,iWidth,iHeight:integer;var bmResult:TBitmap;iAlpha:integer);
var
pBits:pointer;
i,j,k,iSize:integer;
begin
if not (bmResult.PixelFormat=pf24bit) then Exit;
iSize:=bmResult.Width*bmResult.Height*3;
GetMem(pBits,iSize);
GetBitmapBits(bmResult.Handle,iSize,pBits);
for j:=iY to iY+iHeight-1 do
for i:=iX to iX+iWidth-1 do
begin
k:=j*bmResult.Width*3+i*3;
asm
PUSHAD
MOV ECX,pBits
ADD ECX,k
MOV EBX,iAlpha
MOV AL,[ECX]
MUL BL
MOV [ECX],AH
INC ECX
MOV AL,[ECX]
MUL BL
MOV [ECX],AH
INC ECX
MOV AL,[ECX]
MUL BL
MOV [ECX],AH
POPAD
end
end;
SetBitmapBits(bmResult.Handle,iSize,pBits);
FreeMem(pBits)
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
3-52455
kat
2001-12-14 09:30
2002.01.17
Индексы


1-52541
Rust_br
2001-12-26 22:07
2002.01.17
Как уменьшить размер exe шника?


3-52521
Anvarchik
2001-12-17 14:48
2002.01.17
TField и замена текста при открытии.


6-52634
Star
2001-10-23 16:35
2002.01.17
Контроль за файлами ...


3-52516
Nest
2001-12-17 11:15
2002.01.17
Возможно ли из программы открыть временную таблицу для редактирования? Со стандартными компонентами не получается %(