AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mehrere Bilder in den RAM laden - Array, ImageList oder was?
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Bilder in den RAM laden - Array, ImageList oder was?

Ein Thema von Master_RC · begonnen am 12. Jun 2005 · letzter Beitrag vom 12. Jun 2005
Antwort Antwort
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#1

Re: Mehrere Bilder in den RAM laden - Array, ImageList oder

  Alt 12. Jun 2005, 13:52
Nagut, hier noch der Rest: Ich verwende eine globale Variable, STOP, bitte nicht hauen, das ist auch die einzige in allen 10 Units und einfach schnell und unkompliziert .
Delphi-Quellcode:
type
  TBitmapCollection = class
  private
    FBitmapList: TObjectList;
    FNameList: TStringList;
    function GetBitmap(AName: string): TBitmap32;
    procedure LoadGraphicRessources;
  public
    constructor Create;
    destructor Destroy; override;

    procedure Add(ABit: TBitmap32; AName: string);
    function AddNew(AName: string): TBitmap32;

    property Bitmap[AName: string]: TBitmap32 read GetBitmap; default;
  end;

var
  BitmapCollection: TBitmapCollection;

implementation

{ TBitmapCollection }

function TBitmapCollection.GetBitmap(AName: string): TBitmap32;
begin
  Result := TBitmap32(FBitmapList.Items[FNameList.IndexOf(AName)]);
end;

procedure TBitmapCollection.Add(ABit: TBitmap32; AName: string);
begin
  FBitmapList.Add(ABit);
  FNameList.Add(AName);
end;

function TBitmapCollection.AddNew(AName: string): TBitmap32;
begin
  Result := TBitmap32.Create;
  Add(Result, AName);
end;

destructor TBitmapCollection.Destroy;
begin
  FBitmapList.Free;
  FNameList.Free;
  inherited;
end;

constructor TBitmapCollection.Create;
begin
  inherited;
  FBitmapList := TObjectList.Create;
  FNameList := TStringList.Create;
  LoadGraphicRessources;
end;

procedure TBitmapCollection.LoadGraphicRessources;
var
  Stream: TFileStream;
  Alpha: Boolean;
begin
  try
    Stream := TFileStream.Create('Graphics.prr', fmOpenRead);

    LoadPNGintoBitmap32(AddNew('Hugo'), Stream, Alpha);
    LoadPNGintoBitmap32(AddNew('Helmut'), Stream, Alpha);
    LoadPNGintoBitmap32(AddNew('Hannes'), Stream, Alpha);
    LoadPNGintoBitmap32(AddNew('Hannah'), Stream, Alpha);
  finally
    Stream.Free;
  end;
end;

initialization

  BitmapCollection := TBitmapCollection.Create;

finalization

  BitmapCollection.Free;
end.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
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