![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Нужно использловать рисование с использоанием готовых картинок. Эти картинки будут двигаться, и еще будут динамически рисоваться связи между этими картинками.
В какую сторону копать? Тяжелые библиотеки типа OpenGL не хочется использовать |
|
#2
|
||||
|
||||
|
Если вы имеете в виду блок-схемы, то GDI вам хватит, просто используйте двойную буферизацию.
|
|
#3
|
|||
|
|||
|
да, что-то вроде анимированной блок схемы
|
|
#4
|
||||
|
||||
|
Тогда canvas, как я и говорил, подойдет.
Создайте TBitmap, рисуйте в нем, а затем копируйте на Canvas нужного компонента. |
|
#5
|
|||
|
|||
|
что я делаю не так?
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
private
procedure DrawBitmap(const Filename: String; const x,y: Integer);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.DrawBitmap(const Filename: String; const x,y: Integer);
var
Bmp: TBitmap;
begin
// Проверяем наличие картинки
if not FileExists(Filename) then
begin
ShowMessage('The bitmap ' + Filename + ' was not found!');
Exit;
end;
Bmp := TBitmap.Create;
Bmp.LoadFromFile(Filename);
PaintBox1.Canvas.Draw(x, y, Bmp);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DrawBitmap('test.bmp', 100, 100);
end;
end. |
|
#6
|
||||
|
||||
|
вот тут =)
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
DrawBitmap('test.bmp', 100, 100);
end;объфви Bmp: TBitmap внутри класса TForm1 и создавай его в OnCreate и уничтожай в onDestroy. Еще можешь создать TImage - рисунок на нем не "затирается", поэтому onPaint тебе обрабатывать не прийдется. |
|
#7
|
|||
|
|||
|
а что будет если битмап не уничтожить?
|
|
#8
|
||||
|
||||
|
оперативка оч быстро закончится.
|