Форум: "Media";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Вниз
2 Image а Найти похожие ветки
← →
e}{e (2003-05-17 02:25) [0]Суть такая : есть 2 имэйджа - один большой, другой маленький. На одном(большой) линии, на другом(маленький) - прямоугольник.
Кто знает ответьте пожалуйста:
Каким образом таскать маленький Image по большому (и реально ли это вообще)?
И как для маленького Image сделать непрозрачными линии большого, т.е. чтобы при движении мал. Image упирался в лиии большого?
← →
Delphi5.01 (2003-05-18 10:53) [1]...
private
{ Private declarations }
public
{ Public declarations }
ObjectBitMap: TBitMap;
BackBitMap: TBitMap;
BufferBitMap: TBitMap;
Round: Integer; //dlina kubika setki
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
ObjectBitMap:=TBitMap.Create;
ObjectBitMap.LoadFromFile("pic.bmp");
BackBitMap:=TBitMap.Create;
BackBitMap.LoadFromFile("bk.bmp");
BufferBitMap:=TBitMap.Create;
BufferBitMap.LoadFromFile("bk.bmp");
Round:=20;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ObjectBitMap.Free;
BackBitMap.Free;
BufferBitMap.Free;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var xx,yy: Integer;
begin
xx:=Round*(x div Round);
yy:=Round*(y div Round); ( 0,0,BackBitMap) ...
private
{ Private declarations }
public
{ Public declarations }
ObjectBitMap: TBitMap;
BackBitMap: TBitMap;
BufferBitMap: TBitMap;
Round: Integer; //dlina kubika setki
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
ObjectBitMap:=TBitMap.Create;
ObjectBitMap.LoadFromFile("pic.bmp");
BackBitMap:=TBitMap.Create;
BackBitMap.LoadFromFile("bk.bmp");
BufferBitMap:=TBitMap.Create;
BufferBitMap.LoadFromFile("bk.bmp");
Round:=20;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ObjectBitMap.Free;
BackBitMap.Free;
BufferBitMap.Free;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var xx,yy: Integer;
begin
xx:=Round*(x div Round);
yy:=Round*(y div Round);
BufferBitMap.Canvas.Draw(0,0,BackBitMap);
BufferBitMap.Canvas.Draw(xx,yy,ObjectBitMap);
Form1.Canvas.Draw(0,0,BufferBitMap);
end;
dla poluchenia ludshego rezultata ispolzui BitBlt vmesto Canvas.Draw, nemnogo rudnei vishitivat koordinati no skorost povisetsa v 8 raz kak minimum.
Jelau udachi!
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c