Einzelnen Beitrag anzeigen

henrik

Registriert seit: 25. Nov 2003
36 Beiträge
 
Delphi 2007 Professional
 
#11

Re: schwarze Pixel weg : copyMode cmSrcAND cmSrcPaint zu lan

  Alt 27. Dez 2004, 16:11
hey dizzy,

ich verwende doch den MMTimer ! (ich weiss : der TTimer ist sehr ungenau )


Das Dilemma ist im Augenblick :


-mit G32 kann man superschnelle Pixelmanipulationen machen, dafür klappts mit dem Anzeigen des bearbeiteten Bildes nur schlecht (bei mir zumindest).

-mit der normalen TPaintbox und copyrects... kostest das Anzeigen nichts !!,siehe code, (selbst bei 3 msec nur ca. 2% Auslastung) , dafür bremsen Pixelmanipulationen das ganze wieder auf 70 %.

Das folgende mit den ganzen copyRects-hin und hergeschiebe kostet fast nix bei timerInterval von 3 msec (!!!!) :

Nur fehlen leider die Pixelmanipulationen :


Delphi-Quellcode:
procedure TForm1.viewTimerTimer(Sender: TObject; Time: Cardinal);
var tr : TRect;
begin

tr.Left:=10;
tr.Top:=frameNr;
tr.Right:=10+viewRect.Right;
tr.Bottom:=frameNr+viewRect.Bottom;
buffer.Canvas.CopyMode:=cmSrcCopy;

buffer.Canvas.CopyRect(viewRect,orgImage.Canvas,tr);

buffer.Canvas.CopyRect(stdCarPos,carMask.Canvas,carRect);

buffer.Canvas.CopyRect(stdCarPos,car.Canvas,carRect);

PaintBox1.Canvas.CopyMode:=cmSrcCopy;
PaintBox1.Canvas.CopyRect(viewRect,Buffer.Canvas,viewRect);

dec(frameNr,shiftAdd);

if frameNr<10 then frameNr:=OrgImage.Height-700;


end;



Man müsste beides kombinieren können. Mit G32 manipulieren und mit dem anderen das Ergebnis anzeigen.

Ein TImage32 in ein TImage umwandeln ?
  Mit Zitat antworten Zitat