Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Flackernde Images (https://www.delphipraxis.net/39431-flackernde-images.html)

Elite-Koennen 2. Feb 2005 15:38


Flackernde Images
 
Hallo.

(Hoffentlich eine oft gestellte Frage:)

Ich habe einige Projekte am Laufen, die mehr als eine Image besitzen.
Diese Images überlagern sich teilweise. Wenn ich in der Canvas von einem Image von unten zeichne, wird es kurz (aber sichtbar) vollständig angezeigt und dann wieder verdeckt.

Wie kann ich das abstellen ?

Danke!

Matze 2. Feb 2005 15:40

Re: Flackernde Images
 
Ich verstehe dein problem nicht ganz, versuche mal im OnCreate DoubleBuffered auf true zu stellen:

Delphi-Quellcode:
DoubleBuffered := true;

Elite-Koennen 3. Feb 2005 08:09

Re: Flackernde Images
 
Zitat:

Zitat von Matze
Ich verstehe dein problem nicht ganz

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    procedure FormClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: TObject);var i:Integer;
begin
 for i:=1 to 10000 do
  begin
   Image1.Canvas.Pixels[0,0]:=0;
   Image1.Refresh;
  end;
end;

end.
In Image1 und Image2 sind 2 verschiedene Bilder geladen und Image2 überdeckt Image1. Beim Klick auf Form1 sieht man Image1 immer ganz kurz zum Vorschein kommen. Das will ich nicht haben.

Außerdem ist DoubleBuffered doch keine Property von TImage, oder ?

Luckie 3. Feb 2005 08:14

Re: Flackernde Images
 
Nein aber von TForm und darauf liegen ja schließlich deine Images. Musst du übrigens im Code machen, im OI gibt es diese Eigenschaft, warum auch immer, nicht.

Elite-Koennen 4. Feb 2005 10:11

Re: Flackernde Images
 
DoubleBuffered hat - glaube ich - nichts mit meinem Problem zu tun und es hilft auch nicht.
Aber ich hab' schon die Lösung. Die ist so billig, dass es mir wieder peinlich ist, dass ich nicht vorher draufgekommen bin, da ich so viel in der Bildbearbeitung mach'. :stupid:

Vor der Bearbeitung der unteren Image diese mit Hide oder Visible verstecken und danach wieder sichtbar machen. Das alles natürlich in einem Prozess (oder in einer Prozesskette).


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz