?
Hey, danke Braunstein, dein Tipp hat mir sehr weitergeholfen.
Ich hatte meine Klasse von Graphics::TBitmap abgeleitet, und vor dem Lesen des Buffers, den InputStream zum Erkennen des Grafikheaders (BMP, JPG, PNG, JP2k, etc.) verwendet.
Nach vielen rumprobieren, hab ich gemerkt, dass wohl TBitmap irgendwas mit dem Stream anstellt, da man z.b. mit einem TFileStream das Bild während dem Ladevorgang nicht öffnen konnte, war also währendessen wohl Lesegeschützt.
Wenn ich das Auslesen des Headers weggelassen habe, also den Stream vor dem Pufferlesen nicht angefasst habe (ich habe natürlich auch nach dem Lesen immer die Position zurückgesetzt), hat das Bildauslesen meistens funktioniert (aber auch nicht immer ).
Momentane Lösung:
- Klasse nicht mehr von TBitmap vererbt.
- Header auslesen und Puffer lesen mit getrennten TFileStreams
Ganz verstehen tue ich das Ganze zwar noch nicht, aber vorerst funktioniert jetzt alles.
Danke für die Denkanstöße
mfg