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:
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
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr si c'est ce que vous cherchez, mais ce code doit charger le fichier JPEG à partir de flux dans le composant TImage:
MON DIEU, j'ai utilisé TJPEGImage avant, j'ai totalement raté LoadFromStream méthode!? Merci beaucoup, c'est tout.
Heureux de vous aider 😉
Lorsque essayé, mais j'ai charger la date à partir de flux de mémoire et j'ai cette erreur: JPEG erreur #53
il y a
a post
à propos de cette erreur. Soit le fichier est endommagé ou à la bibliothèque ne peut pas décompresser.OriginalL'auteur TLama