Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
16.04.2013
Размер:
3 Кб
Скачать
☆
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure draw(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Airplian: TBitmap;
  srRect,myRect:Trect;
  a:array[1..201,1..85] of Tcolor;
   P : PByteArray;
   x,y : Integer;
  BitMap : TBitMap;


implementation

{$R *.dfm}

procedure TForm1.Draw(Sender: TObject);      //прорисовка изображения
begin
 Form1.Canvas.Brush.Color:=clBlue;
 Form1.Canvas.FloodFill(100,400,clBlue,fsborder);
 Airplian:=Tbitmap.Create;
 myRect := Rect(490,0,691,85);//задание координат прямоугольника в который загружается изображение
 srRect:=rect(0,0,201,85);  //собственно размер изображения
 Airplian.LoadFromFile('C:\Program Files\delphi\Projects\Example(Animated Canvas With Bitmap)\mig2.bmp');//загрузка изображения
 Form1.Canvas.BrushCopy(MyRect, Airplian, srRect, clblue);//копирование изображения на канву с заливкой фона изображения синим цветом
end;



procedure TForm1.Button1Click(Sender: TObject);//осуществление движения
var
 i,s,c:integer;
begin
 for i:=1 to 690 do
 begin
  myRect := Rect(490-i,0,691-i,85);
  form1.Canvas.BrushCopy(MyRect, Airplian, srRect, clblue);
 end;
 {
 i:=0 ;
 for c:=1 to 201 do
  for s:= 1 to 85 do
  begin
   a[c,s]:=form1.Canvas.Pixels[487+c,-1+S];
  end;
   Form1.Canvas.Brush.Color:=clRed;
 Form1.Canvas.FloodFill(100,400,clRed,fsborder);
 for c:=1 to 201 do
  for s:= 1 to 85 do
  begin
   if a[c,s]<>clBlue then
    form1.Canvas.Pixels[c,s]:=a[c,s];
  end;

  BitMap := TBitMap.create;
  try
    // On Windows replace MyBitmap.png with a full pathname such as
    // C:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp
    BitMap.LoadFromFile('C:\Program Files\delphi\Projects\Example(Animated Canvas With Bitmap)\mig2.bmp');
    for y := 0 to BitMap.Height -1 do
    begin
      P := BitMap.ScanLine[y];

      for x := 201 to BitMap.Width -1 do
        P[x] := y;

    end;
    //Form1.Canvas.Brush.Color:=clRed;
 //Form1.Canvas.FloodFill(100,400,clRed,fsborder);
         for y := 0 to BitMap.Height -1 do

      for x := 201 to BitMap.Width -1 do
         form1.Canvas.Pixels[p[y],p[x]]:=clRed;;

         //form1.Canvas.Draw(100,100,BitMap)

  finally
    BitMap.Free;
  end;         }
end;



end.
Соседние файлы в папке Example(Animated Canvas With Bitmap)
  • #
    16.04.2013534 б28Unit1.~dfm
  • #
    16.04.20132 Кб28Unit1.~pas
  • #
    16.04.20135 Кб29Unit1.dcu
  • #
    16.04.201351 б28Unit1.ddp
  • #
    16.04.2013534 б28Unit1.dfm
  • #
    16.04.20133 Кб31Unit1.pas