JPEG flux de données à TImage

J'ai quelques fichiers d'image stockées dans un fichier (une sorte d'archive). Ce fichier ressemble à ceci:

JPEG flux de données à TImage

Bien, il est séparé en deux secteurs d'en-tête et les données du segment. L'en-tête (vert) contient diverses informations, telles que le nom de l'album, le lieu, la date/l'heure, la description, le nombre de photos dans l'album, etc. Segment de données (bleu & orange) a une structure simple et il contient N x photo JPEG. Je peux extrait de "données images" segment de nouveaux TMemoryStream objet et maintenant je veux montrer à l'aide de TImage.

Je peux utiliser SaveAsFile méthode de TMemoryStream, régler certains temporaire de nom de fichier, charger ce fichier à partir de TImage, et plus tard, supprimer les fichiers temporaires. Cela fonctionne, mais je me demandais est-il possible d'envoyer ce flux dans TImage w/out à l'aide de temp. les fichiers.

Bien sûr, je peux écrire du code pour extraire tous les fichiers sur le disque dur mais le problème c'est que j'ai beaucoup d'archives comme celui-ci et vous voulez juste pour écrire l'application de lire les "albums" au lieu d'avoir plus de 20 000 photos sur mon disque dur.

En bref, tout ce que je veux est de rendre la procédure suivante fonctionne (w/out à l'aide de temp. les fichiers)

procedure ShowImageFromStream(data: TStream; img: TImage);
begin
...
end;

Merci d'avance.

OriginalL'auteur Wh1T3h4Ck5 | 2012-04-17