Guten Abend
Ich habe jetzt versucht ein Bild darstellen und nach 10 Millisekunden ihm Ausblenden und dann wieder anzeigen...und s.w.
Bils flackert. Gibt es eine Möglichkeit es so machen, dass Bild nicht flackert.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
MEinBitmap:=TBitmap.Create;
jpg := TJPEGImage.Create;
jpg.LoadFromFile('c:\S3500016.JPG');
MEinBitmap.Width := jpg.Width;
MEinBitmap.Height := jpg.Height;
MEinBitmap.canvas.Draw(0,0,jpg);
doubleBuffered:=true;
PaintBox1.Canvas.Brush.Bitmap:=MeinBitmap;
PaintBox1.Refresh;
PaintBox1.Repaint;
end;
Delphi-Quellcode:
Procedure TForm1.PaintBox1Paint(Sender: TObject);
Var
lDrawRect: TRect;
Begin
If IntersectRect(lDrawRect, PaintBox1.ClientRect, Canvas.ClipRect) Then
Begin
BitBlt(PAintBox1.Canvas.Handle,
lDrawRect.Left,
lDrawRect.Top,
lDrawRect.Right - lDrawRect.Left,
lDrawRect.Bottom - lDrawRect.Top,
MEinBitmap.Canvas.Handle,
lDrawRect.Left - PaintBox1.ClientRect.Left,
lDrawRect.Top - PaintBox1.ClientRect.Top,
SRCCOPY);
End;
End;
Ich habe Dann Timer, und jede 10 Millisekunden ich mache: PAintBox1.visible:=false oder true.
Mit größeren Intervallen es sieht auch nicht ganz besser aus.
Was mache ich falsch?:==))))
Mit freundlichen Gruessen
Oleksandr
P.S. GAnz vergessen: ist es möglich ein Bild auf dem Bildschirm zu Zeigen einmal pro 10 Millisekunden, und sogar so, dass er nicht sichtbar ist für Auge?:=)))))