Форум: "Основная";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];
ВнизМастера, помогите!!! Найти похожие ветки
← →
[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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c