Показать сообщение отдельно
  #12  
Старый 10.03.2010, 19:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Примерчик будет типа такой.

Код:
type
  TForm1 = class(TForm)
    PaintBox1 : TPaintBox;
  ...
  private
    Bmp : TBitmap; // Буфер. Можно JPEG, то тогда будет каждый раз 
                         // преобразовывать. Лучше руками самому все подготовить
    ...
  end;

procedure TForm1.FormCreate(Sender : TObject);
begin
  Bmp := TBitmap.Create;
  Bmp.LoadFromFile('template.bmp');
end;

procedure TForm1.FormDestroy(Sender : TObject);
begin
  Bmp.Free;
end;

procedure TForm1.PaintBox1Paint(Sender : TObject);
begin
  // сначала рисуем подложку
  PaintBox1.Canvas.Draw(0,0,Bmp);

  // А теперь поверх подложки рисуем функцию
  PaintBox1.Canvas.MoveTo(10,10);
  PaintBox1.Canvas.LineTo(100,100);
end;

Естественно, это только пример. При этом - самый грубый.
Лучше сделать еще один промежуточный буфер, на котором отрисовать подложку и график, а потом уже это копировать в PaintBox целиком одной командой. Ну и рисование функции в примере примитивное - у тебя будет сложнее.
Ответить с цитированием