![]() |
AW: TPicture mit eigener BMP-Extension
Nochmal...
wenn dein Timer bereits im OnCreate oder im Objektinspektor aktiviert wird könnte dein erstes Timer Event bereits vor OnShow auftreten. Da du die Objekte erst im OnShow erzeugst könnten sie zu dem Zeitpunkt noch nicht vorhanden sein. --> Timer erst nach dem Erzeugen der Images aktivieren. 8-) |
AW: TPicture mit eigener BMP-Extension
Achso, so meinst du das....
Nein, der Timer wird natürlich auch erst im OnShow-Ereignis aktiviert, und zwar nachdem die Bilder in den RAM geladen wurden... Hierran kann es also nicht liegen. Dennis |
AW: TPicture mit eigener BMP-Extension
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TBitMapArray=Array[0..3] of TBitMap; TForm2 = class(TForm) Timer1: TTimer; Image1: TImage; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Timer1Timer(Sender: TObject); private FBitMapArray:TBitMapArray; FIndex:Integer; { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.dfm} Procedure BMPCreateAndLoadFromFile(var bmp:TBitmap;const fn:String); begin bmp := TBitmap.Create; bmp.LoadFromFile(fn); end; procedure TForm2.FormCreate(Sender: TObject); Const Path='C:\Bilder\IconCollection\ix_ap_all\48x48\plain_bitmap\'; begin BMPCreateAndLoadFromFile(FBitMapArray[0],Path + 'about.tex'); BMPCreateAndLoadFromFile(FBitMapArray[1],Path + 'add.xxx'); BMPCreateAndLoadFromFile(FBitMapArray[2],Path + 'add2.yyy'); BMPCreateAndLoadFromFile(FBitMapArray[3],Path + 'bookmark.aaa'); end; procedure TForm2.FormDestroy(Sender: TObject); var i:Integer; begin for I := 0 to High(FBitMapArray) do FreeAndNil(FBitMapArray[i]); end; procedure TForm2.Timer1Timer(Sender: TObject); begin Image1.Picture.Assign(FBitMapArray[FIndex]); inc(FIndex); if FIndex > 3 then Findex := 0; end; end. |
AW: TPicture mit eigener BMP-Extension
Hallo,
Und es gibt keine Möglichkeit, den TFileStream zu umgehen? Ich verstehe nicht, wieso ich nicht einfach Vier Bilder erzeugen kann und diese dann bei bedarf in das TImage einlesen kann.... Weiß jemand von euch einen möglichen Grund? |
AW: TPicture mit eigener BMP-Extension
du kannst auch ohne TFileStream die Bilder in das array laden, anderseits was spricht gegen TFileStream ?
TFileStream erkennt an der Extension um welches Format es sich handelt |
AW: TPicture mit eigener BMP-Extension
Ja, nun ist das aber ja genau nicht das, was ich will.
Mein Problem entstand ja erst durch die abgeänderte extension. Ich darf die BMP-Endung nicht verwenden, die Dateien sind aber im BMP-Format. Kann ich nicht dem TPicture sagen, es soll die TEX-Datei wie eine BMP-Datei behandeln? |
AW: TPicture mit eigener BMP-Extension
intern wird eh in einem Stream geladen, nimmt sich also nichts.
Du kannst MyGraphic.pas aus Posting #6 auch problemlos so umbauen dass Du *.TEX als Bitmap direkt per Image1.Picture.LoadfromFile('Pfad\beispiel.TEX') laden kannst. EDIT: oberes (#13) angepasst (ohne sichtbare Streams) |
AW: TPicture mit eigener BMP-Extension
Zitat:
|
AW: TPicture mit eigener BMP-Extension
Zitat:
Danke aber trotzdem, häufig tauchen meine Fehler nähmlich wegen solchen Unaufmerksamkeiten auf. Zitat:
Danke; |
AW: TPicture mit eigener BMP-Extension
Liste der Anhänge anzeigen (Anzahl: 1)
Halte ich zwar für oversized nur um eine Endung laden zu können, eigentlich eher dafür gedacht ein eigenes Format zu implementieren, aber der Anhang tut was Du willst.
Delphi-Quellcode:
uses TEXBMP.pas;
procedure TForm2.Button1Click(Sender: TObject); begin Image2.Picture.LoadFromFile('C:\Bilder\Bummi.TEX'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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