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

Вниз

Мастера, помогите!!!   Найти похожие ветки 

 
[BAD]Angel ©   (2002-08-09 13:07) [0]

Как сделать, чтобы картинка (image) плавно увеличивалась или уменьшалась (без миганий)...


 
Skier ©   (2002-08-09 13:14) [1]

>[BAD]Angel
Цель какая ?


 
[BAD]Angel ©   (2002-08-09 13:19) [2]

Ну я же написал... Есть картинка (Image) размера 100х100 допустим, нажимаеш на нее и она плавно увеличивается до 300х300, допустим!!!


 
Skier ©   (2002-08-09 13:23) [3]

>[BAD]Angel
Покажи код : как ты это делаешь...


 
[BAD]Angel ©   (2002-08-09 13:27) [4]

Да я еще никак ни делаю... Я не знаю, как это реализовать! Если бы знал, то, наверное, не спрашивал бы!


 
[BAD]Angel ©   (2002-08-09 16:30) [5]

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


 
Viktor Kushnir ©   (2002-08-09 18:44) [6]

Просто так плавно не получится. Нужно подготовить в памяти несколько изображений разного размера, а затем их подряд прорисовать.
Можно создать что-нибудь вроде

Var
i :integer;
ImgArray :Array [0..9] of TBitmap;
...
Begin
For i := 0 to 9 do
Begin
ImgArray[i] := TBitmap.create;
{Здесь рисуешь в ImgArray[i] нужную картинку, с нужным размером}
End;


Затем заполнить его 10 картинками с возрастающеми (или убывающеми, как хочешь) размерами, а затем их поочереди прорисовать.

For i := 0 to 9 do
Begin
Form1.Canvas.Draw(0,0,ImgArray[i])
Sleep(100);
End;


Только не забудь потом память освободить.


 
[BAD]Angel ©   (2002-08-10 12:53) [7]

Спасибо!


 
mukha ©   (2002-08-10 15:04) [8]

В книге для начинающих как демонстрация работы таймера видел примерно такой пример:
На форме Panel,на ней Image с загруженным рисунком, button и Timer. Image размещён на панели чтобы устранить мигания.
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, jpeg;

type
TForm1 = class(TForm)
Panel1: TPanel;
Timer1: TTimer;
Image1: TImage;
Button1: TButton;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
small:boolean;
implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if small=true then
begin
Image1.Height:=Image1.Height-2;
Image1.Width:=Image1.Width-2;
if Image1.Height<=100 then //минимальный размер Image
small:=false;
end;
if small=false then
begin
Image1.Height:=Image1.Height+2;
Image1.Width:=Image1.Width+2;
if Image1.Height>=300 then // максимальный размер Image
small:=true;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered:=true;
Timer1.Interval:=1;
Timer1.Enabled:=false;
Image1.Stretch:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
small:=true;
end;

end.



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
8-71268
Chukas
2002-04-15 11:03
2002.08.22
Запись звука с микрофона


14-71360
Mystic
2002-07-28 01:19
2002.08.22
Попугай


6-71299
sm_dmitry
2002-06-10 22:00
2002.08.22
Twebbrowser и линки на exe


1-71190
Holodilnik
2002-08-09 13:45
2002.08.22
сортировка в TreeView русских букв


1-71076
Сережа
2002-08-12 11:13
2002.08.22
Удаление автозагрузки из реестра