Назад Оглавление Дальше Просмотр анимации .GIF


Проект состоит из одного модуля.

Краткое описание: что может программа

Текст модуля Unit1

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, GIFCtrl, Animate, ComCtrls;

type
  TForm1 = class(TForm)
    btnOpen: TButton;
    OpenDialog1: TOpenDialog;
    btnQuit: TButton;
    cbTransp: TCheckBox;
    btnStart: TButton;
    btnStop: TButton;
    cbGray: TCheckBox;
    gbIndex: TGroupBox;
    edIndex: TEdit;
    GIFA1: TRxGIFAnimator;
    UpDown1: TUpDown;
    Label1: TLabel;
    procedure btnOpenClick(Sender: TObject);
    procedure btnQuitClick(Sender: TObject);
    procedure cbTranspClick(Sender: TObject);
    procedure cbGrayClick(Sender: TObject);
    procedure btnStartClick(Sender: TObject);
    procedure btnStopClick(Sender: TObject);
    procedure edIndexChange(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

{ ********* СПРАВКИ: *********************
  --------- Установка RXlib ------------
0. Установить path по инструкции
1. Компилировать rxctl7. Для этого открыть rxctl7.bpk - запустится
Делфи, появится окно, в котором установить опции: disigntime only
и Prefix не устанавливать.
Рез-т компиляции будет в Delphi7\Projects\bpl\rxctl7.bpl (и .dcp)
- то же rxctl7, rxdb7, rxbde7
2. Инсталл dclrxall7
3. Меню Делфи | Component | Install Packages | щелк кнопку Add,
выбрать и открыть Delphi7\Projects\bpl\dclrxall7.bpl
 - все должно установиться. Проверка: Меню | View | Component List
  и в этом списке найти RX-компоненты (например, TRxGIFAnimator).
  Из этого же окна можно его поставить на форму (кнопка Add to form)

 ----------- Настройка пути к файлам *.dcu этой библиотеки -------
 У меня это: E:\Program Files\Rx Library\dcu\D7\
 Меню Делфи | Project | Options | Directories ... | Search path
 - сюда добывать (используя кнопку мастера ... - справа)
 E:\Program Files\Rx Library\dcu\D7\
 - однако это не все: не находит RXConst.R32 и еще 2.
 Смотрю: где они?
 - Похоже, здесь E:\Program Files\Rx Library\units\
 - Добавляю и это в | Search path - теперь все ОК

 ------- Описание класса TRxGIFAnimator ----------
 (из справки (рус), прилагаемой к RXLib)
 .......................................
 Компонента предназначена для отображения в Ваших формах анимированных
 графических изображений формата GIF.
 Рисунок, отображаемый в форме, задается свойством Image.
 Номер кадра, отображаемого в настоящий момент, во время выполнения
 можно определить по значению свойства FrameIndex.
 Вы можете также задать это значение в дизайнере.
 Если свойство Animate установлено в True, то изображение анимируется.
 Частота смены кадров задана в самом формате GIF и не может быть изменена.

 Свойство Transparent определяет, будет ли компонента изображать GIF прозрачным,
 используя свойство TGIFImage.TransparentColor.
 Компонета также включает в себя свойства, аналогичные свойствам TImage.
 - AutoSize 
 - property Animate: Boolean;
 - property Loop: Boolean;
 - property AutoSize: Boolean;
 - property Transparent: Boolean;
 - property FrameIndex: Integer - номер кадра (0..)
 - метод Show.
 - property Image: TGIFImage;
 ---------------- Поэтому выпишем TImage из справки Делфи --------
   Свойство Image задает графическое изображение формата GIF,
   которое может быть использовано для анимации.
        - Image.property Count: Integer; - число кадров,
           доступ к каждому: Image.Frames[Index];
        - Image.property TransparentColor: TColor;
        - Image.property Frames[Index: Integer]: TGIFFrame;
        - Image.property RepeatCount: Integer;
        - Image.LoadFromFile|Stream
        - Image.SaveToFile|Stream
        - Image.property BackgroundColor: TColor;

 ---- Как подключить эту (или другую) справку ко встроенной справке Делфи? ---
 1. Меню | Help | Customize
 2. Закладка Contents. Menu | Edit | Add Files - и добавить RXD6.TOC
  (из папки E:\Program Files\Rx Library\help\russian\)
 3. Закладка Index. Menu | Edit | Add Files - и добавить RXD6.HLP
 4. Закладка Link. Menu | Edit | Add Files - и добавить RXD6.HLP
 5. Menu | File | Save Project
 6. Это все
}

procedure TForm1.btnOpenClick(Sender: TObject);
begin
   If OpenDialog1.Execute then
   begin
     GIFA1.Parent := Self;
     GIFA1.Image.LoadFromFile(OpenDialog1.FileName);
     GIFA1.Visible := true;
     GIFA1.Animate := true;
     Label1.Caption:= 'Всего: '+ IntToStr(GIFA1.Image.Count)+
      ' кадров';
     UpDown1.Min:=0;
     UpDown1.Max:= GIFA1.Image.Count-1;
   end;
end;

procedure TForm1.btnQuitClick(Sender: TObject);
begin
   Application.Terminate;
end;

procedure TForm1.cbTranspClick(Sender: TObject);
begin
  If cbTransp.Checked then  GIFA1.Transparent := true else
    GIFA1.Transparent := false;
end;

procedure TForm1.cbGrayClick(Sender: TObject);
begin
  If cbGray.Checked then  GIFA1.Image.Grayscale(true)
    else GIFA1.Image.Grayscale(false);
end;

procedure TForm1.btnStartClick(Sender: TObject);
begin
  GIFA1.Animate := true;
end;

procedure TForm1.btnStopClick(Sender: TObject);
begin
   GIFA1.Animate := false;
end;

procedure TForm1.edIndexChange(Sender: TObject);
begin
   GIFA1.Animate := false;
   GIFA1.FrameIndex:= StrToInt(edIndex.Text);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  Label1.Caption:= 'Всего: '+ IntToStr(GIFA1.Image.Count)+
      ' кадров';
end;

end.

Некоторые особенности проекта:


Скачать RAR-архив исходников (72 Кб)
Скачать RAR-архив исходников + .exe(270 Кб)

Назад Дальше
Rambler's Top100
Hosted by uCoz