Einzelnen Beitrag anzeigen

compix

Registriert seit: 13. Feb 2011
14 Beiträge
 
#7

AW: Temporäres Einfrieren beim Zeichnen einer BitMap

  Alt 16. Jun 2012, 12:37
Vielen Dank für eure Antworten und tut mir leid, dass ich nicht früher antworten konnte.

Tatsächlich ist Screen schon vordefiniert, das habe ich nicht gewusst, sofort geändert
und die globalen Deklarationen könnt ihr mir hoffentlich verzeihen ^^.

Inwiefern eine Paintbox sinnvoller ist verstehe ich nicht, wie gesagt sollte es ja nur ein Test sein. Wenn ich z.B. ein Spiel programmiere,
indem ich in einer Schleife das Zeichnen zeitlich steuern muss dann macht es doch keinen Sinn, wenn ich das in ein OnPaint-Event packe.

Auch mit Delphi 2010 habe ich dieses Problem unter Windows XP Prof. und die Lösung scheint tatsächlich in meinem Fall das Pixelformat zu sein:
(SCREEN wurde umbenannt in BACKBUFFER)
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  BACKBUFFER := TBitMap.Create;
  BACKBUFFER.Width := 1600;
  BACKBUFFER.Height := 1200;
  BACKBUFFER.PixelFormat := pf24bit;

  BG := TBitMap.Create;
  BG.LoadFromFile('background.bmp'); //5,5 MB großes Bild(1600x1200) wird geladen

  BACKBUFFER.Canvas.Draw(0,0,BG);
  ABBRECHEN := false;
end;
Damit ist das Problem behoben , vielen Dank.
MfG, compix
  Mit Zitat antworten Zitat