Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bitmap von ImageList laden ? (https://www.delphipraxis.net/128293-bitmap-von-imagelist-laden.html)

Bernhard Geyer 18. Dez 2009 08:47

Re: Bitmap von ImageList laden ?
 
Zitat:

Zitat von Sherlock
Und von einem "Hexadezimal"Overhead höre ich im Zusammenhang mit ImageListen zum ersten mal :D

Dürfte eigentlich nur in den DFM's vorliegen wenn diese im Textformat gespeichert werden.

Namenloser 18. Dez 2009 11:20

Re: Bitmap von ImageList laden ?
 
Zitat:

Zitat von Bernhard Geyer
Dürfte eigentlich nur in den DFM's vorliegen wenn diese im Textformat gespeichert werden.

Klar, aber zumindest bei neueren Delphis ist das standardmäßig ja der Fall.

Jens Hartmann 23. Dez 2009 17:06

Re: Bitmap von ImageList laden ?
 
Hallo zusammen,

und besten dank schon mal für die Info´s. Ich habe mein Problem jetzt mit einer Resourcendatei und einer Graphics32 Komponentensammlung über die Komponente Image32 gelößt. Auf diese Komponente bin durch die Suchmaschine gekommen, da ich die Bilder gerne überblenden würde.

Ich habe mir verschiedene Beiträge angesehen, jedoch keinen der mir so richtig helfen konnte.

Ich zeig Euch hier mal meine aktuelle Lösung und hoffe, das ihr mir nochmal weiterhelfen könt.

Delphi-Quellcode:
procedure TPSStarter.FormCreate(Sender: TObject);
var
  Live : TBitmap32;
begin
  PicTimer.Interval := Starter.Interval div 11;
  Live := TBitmap32.Create;
  Live.LoadFromResourceName(HInstance, 'Erfolg');
  Image321.Bitmap := Live;
  Live.Free;
end;

procedure TPSStarter.PicTimerTimer(Sender: TObject);
var
  Live : TBitmap32;
  i : integer;
begin
try
  try
    Live := TBitmap32.Create;
    case Image321.Tag of
      0: Live.LoadFromResourceName(HInstance, 'Einbruch');
      1: Live.LoadFromResourceName(HInstance, 'Brand');
      2: Live.LoadFromResourceName(HInstance, 'TK');
      3: Live.LoadFromResourceName(HInstance, 'IT');
      4: Live.LoadFromResourceName(HInstance, 'Kosten');
      5: Live.LoadFromResourceName(HInstance, 'Lichtruf');
      6: Live.LoadFromResourceName(HInstance, 'Video');
      7: Live.LoadFromResourceName(HInstance, 'Zeit');
      8: Live.LoadFromResourceName(HInstance, 'Zutritt');
      9: Live.LoadFromResourceName(HInstance, 'Planung');
     10: Live.LoadFromResourceName(HInstance,'Erfolg');
    end;
    Image321.Bitmap := Live;
  except
    Exit;
  end;
  finally
    Live.Free;
    Image321.Tag := Image321.Tag + 1;
  end;
end;
Danke schon mal

Gruß Jens

Jens Hartmann 24. Dez 2009 11:42

Re: Bitmap von ImageList laden ?
 
Hallo zusammen,

hat keiner eine Idee.

Gruß Jens

Klaus01 24. Dez 2009 12:54

Re: Bitmap von ImageList laden ?
 
Delphi-Quellcode:
try
  try
    Live := TBitmap32.Create;
    case Image321.Tag of
      0: Live.LoadFromResourceName(HInstance, 'Einbruch');
      1: Live.LoadFromResourceName(HInstance, 'Brand');
      2: Live.LoadFromResourceName(HInstance, 'TK');
      3: Live.LoadFromResourceName(HInstance, 'IT');
      4: Live.LoadFromResourceName(HInstance, 'Kosten');
      5: Live.LoadFromResourceName(HInstance, 'Lichtruf');
      6: Live.LoadFromResourceName(HInstance, 'Video');
      7: Live.LoadFromResourceName(HInstance, 'Zeit');
      8: Live.LoadFromResourceName(HInstance, 'Zutritt');
      9: Live.LoadFromResourceName(HInstance, 'Planung');
     10: Live.LoadFromResourceName(HInstance,'Erfolg');
    end;
    //Image321.Bitmap := Live; // Adresse zugewiesen
    Image321.Bitmap.assign(Live); // versuche es mal mit Inhalt zuweisen
  except
    Exit;
  end;
  finally
    Live.Free;             // freigegeben
    Image321.Tag := Image321.Tag + 1;
  end;
end;
Grüße und schöne Festtage
Klaus

Jens Hartmann 24. Dez 2009 13:45

Re: Bitmap von ImageList laden ?
 
Hallo Klaus,

ändert leider nichts an der Funktion. Die Bilder werden ja sauber und nacheinander geladenund auch zur Anzeige gebracht. Leider werden diese nicht sauber überblendet.

Soll heißen, das umschalten ist halt Ruckartig und sieht somit bescheiden aus.

Ich denke das die ganze Sache irgendwie mit

Delphi-Quellcode:

Image32.Bitmap.MasterAlpha

//und

Image32.Bitmap.DrawMode
funktionieren könnte. Bekomme das allerdings irgendwie nicht hin.

Viele grüße und schöne Festtage

Jens

Garfield 24. Dez 2009 19:09

Re: Bitmap von ImageList laden ?
 
Vielleicht sollte man zwei Bilder übereinanderlegen und beim Überblenden das eine ein- und das andere ausblenden?

Jens Hartmann 24. Dez 2009 19:43

Re: Bitmap von ImageList laden ?
 
Hallo Garfield,

da habe ich auch schon dran gedacht, allerdings bekomme ich momentan noch nicht mal das einblenden hin.

Ich könnte mir vorstellen, das ich den...

Delphi-Quellcode:
Image32.Bitmap.MasterAlpha := 0;

//über eine Schleife z.B. auf 255 hochzählen muss.

    for I := 0 to 254 do
      begin
        Image321.Bitmap.MasterAlpha := Image321.Bitmap.MasterAlpha +1;
      end;
Aber leider funktioniert das nicht.

Gruß Jens

Namenloser 24. Dez 2009 20:58

Re: Bitmap von ImageList laden ?
 
1. Das Image32 selbst ist opaque, lediglich das darin enthaltene Bild lässt sich gegen eine feste Hintergrundfarbe blenden. Hier wirst du wohl direkt auf das Bitmap zeichnen müssen (TBitmap32.Draw()...).
2. Deine Schleife läuft so schnell durch, dass du nichts davon mitbekommen wirst - GR32 arbeitet recht schnell. Bau hier mal eine Hier im Forum suchenDelay-Funktion ein.
3. Du gibst deiner Application nirgends die Chance Messages abzuarbeiten. Delphi-Referenz durchsuchenApplication.ProcessMessages ist dein Freund.

Garfield 26. Dez 2009 20:02

Re: Bitmap von ImageList laden ?
 
http://sourceforge.net/project/scree...985&ssid=28538

Vielleicht ist das was. Beispiele sind ja dabei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Seite 2 von 3     12 3      

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