Главная страница
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.008 c
3-52488
andey
2001-12-14 21:26
2002.01.17
Сколько запрашивать


3-52503
Вит
2001-12-15 16:35
2002.01.17
Как разбить БД в InterBase на два файла?


3-52471
МАРАТ
2001-12-14 15:21
2002.01.17
Не могу открыть *.GDB


1-52543
RaZEr
2001-12-27 06:30
2002.01.17
Tray & Callback Messages


14-52664
Ray_Parker
2001-11-13 13:44
2002.01.17
Вопрос по медиа программированию