Вниз
Скачать: CL | DM;

графика   Найти похожие ветки 

 
Yasha   (2002-10-31 11:54) [0]

Подскажите пожалуйста, существует ли какой-нибудь компонент для создания "эффектов перехода" (как в слайдах MS Power Point) для объекта TImage


 
Vint ©   (2002-10-31 13:26) [1]

Наслаждайся...

procedure TForm1.Button1Click(Sender: TObject);
const
count = 100;
var
i: integer;
x, y: integer;

Pic_Temp, Pic_Fon, Pic_Intro : TBitMap;
p_t, p_f, p_i : PByteArray;



begin


Pic_Temp := TBitMap.Create; // итоговая картинка
Pic_Fon := TBitMap.Create; // картинка - фон
Pic_Intro := TBitMap.Create; // картинка заставки

Pic_Temp.PixelFormat := pf24bit;
Pic_Fon.PixelFormat := pf24bit;
Pic_Intro.PixelFormat := pf24bit;

Pic_Fon.Width := 489;
Pic_Fon.Height := 254;
Pic_Temp.Height := 254;
Pic_Temp.Width := 489;
Pic_Intro.Height := 254;
Pic_Intro.Width := 489;

// загрузили фон
bitblt(Pic_Fon.Canvas.Handle, 0, 0, 489, 254,Form1.Image1.Canvas.Handle, 0, 0, SRCCOPY);
// загружаем картинку - заставку
bitblt(Pic_Intro.Canvas.Handle, 0, 0, 489, 254,Form1.Image2.Canvas.Handle, 0, 0, SRCCOPY);

for i := 1 to count do
begin


for y := 0 to Pic_Temp.Height - 1 do
begin
p_t := Pic_Temp.ScanLine[y];
p_f := Pic_Fon.ScanLine[y];
p_i := Pic_Intro.ScanLine[y];

for x := 0 to Pic_Temp.Width * 3 - 1 do
p_t^[x] := round((p_f^[x] * (count - i) + p_i^[x] * i) / count);
end;




Form1.Image1.Canvas.Draw(0, 0, Pic_Temp);

Application.ProcessMessages;
if Application.Terminated then break;
end;

// DesktopCanvas.Draw(190, 167, Pic_Intro);

Pic_Fon.Free;
Pic_Intro.Free;
Pic_Temp.Free;


end;

где count - градиент в %



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
3-33876
leshik
2002-10-21 09:27
2002.11.11
создать запрос по периодам...


4-34304
VepAlex
2002-10-02 06:21
2002.11.11
Не закрывается окно Дос приложения


3-33922
Labert
2002-10-21 23:07
2002.11.11
ADO и Windows NT


7-34270
sniknik
2002-09-09 15:39
2002.11.11
Как то не правильно Трей работает.


14-34219
Дремучий
2002-10-17 16:22
2002.11.11
О форуме...




   Наверх