Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Wie funktioniert das genau mit den backbuffer?

  Alt 15. Aug 2004, 14:17
ich habes jetzt so gemacht, aber beim verschieben gibst probleme:
Delphi-Quellcode:
begin
// if altezeit+30 < timegettime then begin
    if objIndex > -1 then begin
      FZSpeicher.Canvas.Pen.Color:=Obj[objIndex].FColor;
      FZSpeicher.Canvas.Pen.Style:=Obj[objIndex].PenStyle;

      FZSpeicher.Canvas.Brush.Color:=Obj[objIndex].BColor;
      FZSpeicher.Canvas.Brush.Style:=Obj[objIndex].BrushStyle;
    end
    else begin
      FZSpeicher.Canvas.Pen.Color:=JvGammaPanel1.ForegroundColor;
      FZSpeicher.Canvas.Brush.Color:=JvGammaPanel1.BackgroundColor;
    end;


    BitBlt(FZSpeicher.canvas.handle, 0, 0, FBackpuffer.width, FBackpuffer.height, FBackpuffer.canvas.handle, 0, 0, SRCCOPY);

    with FZSpeicher.Canvas do begin
      if typ = 0 then FZSpeicher.canvas.Rectangle(x1,y1,x2,y2);
      if typ = 1 then FZSpeicher.canvas.Ellipse(x1,y1,x2,y2);
      if typ = 2 then FZSpeicher.canvas.RoundRect(x1,y1,x2,y2,(x1 - x2) div 2,(y1 - y2) div 2);
      if typ = 3 then begin
        FZSpeicher.canvas.MoveTo(x1,y1);
        FZSpeicher.canvas.LineTo(x2,y2);
      end;
  // end;
    BitBlt(PaintBox1.canvas.handle, 0, 0, FBackpuffer.width, FBackpuffer.height, FZSpeicher.canvas.handle, 0, 0, SRCCOPY);
    altezeit := timegettime;
  end
[edit=Luckie]Tags korrigiert. Mfg, Luckie[/edit]
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat