Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
16.04.2013
Размер:
2.58 Кб
Скачать
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.2013876 б28Project2.res
  • #
    16.04.20134.2 Кб27Project2.~dsk
  • #
    16.04.20134.77 Кб28Unit1.dcu
  • #
    16.04.201351 б27Unit1.ddp
  • #
    16.04.2013534 б27Unit1.dfm
  • #
    16.04.20132.58 Кб30Unit1.pas
  • #
    16.04.201351 б27Unit1.~ddp
  • #
    16.04.2013534 б27Unit1.~dfm
  • #
    16.04.20132.44 Кб27Unit1.~pas