Accueil > Forum > > > > Coder une image dans un fichier texte
Coder une image dans un fichier texte
mardi 27 novembre 2007 à 21:03:29 |
Coder une image dans un fichier texte

orelien
|
Bonjour, J'aimerais savoir comment ecrire et lire le contenu d'une image dans/depuis un fichier texte. Après avoir crée une image dynamiquement, je souhaiterais l'enregistrer dans un fichier texte pour pouvoir par la suite la réouvrir en lisant ce même fichier. Si quelqu'un a une idée... Merci Orélien.
|
|
mardi 27 novembre 2007 à 22:39:48 |
Re : Coder une image dans un fichier texte

WhiteHippo
|
Bonsoir,
En codant par exemple ton image en base 64 (codage MIME). Cette méthode est couramment employée dans les newsgroups pour transférer des données binaires de façon "lisible".
Cordialement.
"L'imagination est plus importante que le savoir." Albert Einstein
|
|
mercredi 28 novembre 2007 à 09:55:54 |
Re : Coder une image dans un fichier texte

Francky23012301
|
Salut,
Attention l'encodage en Bas64 augmente la taille du fichier d'un quart de sa valeur (Si 10 ko il ferat 12,5ko).
Exemple de fonction :
Function Base64Encode(S1: TStream) : string; const Code64: string[64]=('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); var Sg,Str: string; N, J: Integer; B: array[1..3] of Byte; const LinLen = SizeOf(B)* 20; begin while S1.Position < S1.Size do begin N:= 0; Sg:= ''; while (N < LinLen) and (S1.Position < S1.Size) do begin J:= S1.Size-S1.Position; if J > SizeOf(B) then J:= SizeOf(B); Inc(N, J); S1.ReadBuffer(B, J); Sg:= Sg+ Code64[(B[1] shr 2)+1]; Sg:= Sg+ Code64[(B[1] and $03) shl 4 + (B[2] shr 4)+1]; if J > 1 then Sg:= Sg+ Code64[(B[2] and $0F) shl 2 + (B[3] shr 6)+1] else Sg:= Sg+ '='; if J > 2 then Sg:= Sg+ Code64[(B[3] and $3F)+1] else Sg:= Sg+ '='; end; Str:=Str+Sg; end; Result:=Str; end;
Procedure Encode_Image(ImageName,TextName : String); Var FS : TFileStream; TextFile:TStringList; Begin FS:=TFileStream.Create(ImageName,fmOpenRead); TextFile:=TStringList.Create; Try TextFile.Text:=Base64Encode(FS); TextFile.SaveToFile(TextName); Finally TextFile.Free; FS.Free; End; End;
|
|
mercredi 28 novembre 2007 à 10:38:57 |
Re : Coder une image dans un fichier texte

Guillemouze
|
et pourquoi pas la methode simple ? :
procedure SauverLimage(LImage: TImage; NomFichier: String); begin monImage.picture.SaveToFile(NomFichier); end;
procedure ChargerLimage(LImage: TImage; NomFichier: String);
begin
monImage.picture.LoadFromFile(NomFichier);
end;
|
|
mercredi 28 novembre 2007 à 11:46:58 |
Re : Coder une image dans un fichier texte

Francky23012301
|
Pourquoi pas la méthode simple ? En enregistrant un bitmap au fichier on texte, on le bousille. Le savetofile('C:\MonImage.txt') va fonctionner mais le loadfromfile('C:\MonImage.txt') va planter Evidemment j'ai vérifié la réponse 
|
|
mercredi 28 novembre 2007 à 12:30:21 |
Re : Coder une image dans un fichier texte

cirec
|
Salut, Hola ... Le fait de changer l'extension du fichier ne va rien modifier dans la structure du fichier, il reste le même. Par contre à la lecture il va planter ... mais pas à cause de la structure du fichier mais à cause de l'extension. En effet la fonction qui se charge de lire le fichier contrôle d'abord l'extension, si celle ci n'est pas du format attendu il déclenche une erreur. Et pour corriger ce problème il suffit de changer l'extension .TXT en .BMP (pour un bitmap bien sûr) @+ Cirec
|
|
mercredi 28 novembre 2007 à 12:56:00 |
Re : Coder une image dans un fichier texte

Francky23012301
|
Hé hé : j'ai fais un test hier soir Cirec. J'ai ouvert un ficher bitmap avec le blocnote je l'ai enregistré sous un format txt. J'ai supprimé l'image réouvert le fichier texte et enregistré sous un format bmp. Tu sais quoi ? le fichier c'est crouté 
|
|
mercredi 28 novembre 2007 à 13:06:30 |
Re : Coder une image dans un fichier texte

Francky23012301
|
Hormis ce beug dans windows  , tu as totalement raison ca ne change pas le fichier. Je me suis mal exprimé : si tu changes l'extension ton fichier il est plus utilisable tel quel, donc il est plus "utilisable" donc ca revient à le bousiller. Mais je vois pas trop l'intéret de le metter au format txt : ca prend la meme place.
|
|
mercredi 28 novembre 2007 à 13:30:49 |
Re : Coder une image dans un fichier texte

cirec
|
Salut, @Francky: Dans le bloc note oui ... et c'est normale Moi je parlais uniquement pour "Bitmap.SaveToFile" Et non je ne vois pas l'intérêt et je rejoins Guillemouze sur ce point : une sauvegarde normale devrait suffire  @Orélien Pour avoir une idée sur la structure d'un fichier Bitmap je te conseil d'aller voir sur WotSit.OrgEt pour avoir un petit exemple d'écriture (création) d'un fichier Bitmap (24 / 32 bits) Regarde ce Thread @+ Cirec
|
|
mercredi 28 novembre 2007 à 15:04:09 |
Re : Coder une image dans un fichier texte

Loda
|
salut,
je suppose qu'il veux/doit passer le fichier à un endroit qui n'accept que les fichiers text pure. (ce qui était le premier but de l'encodage b64: passer les server qui ne suportaient que l'asci 7bits.) par exemple un xml?
sinon, je ne vois pas l'intérêt non plus.
A+
Loda
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
|
|
Cette discussion est classée dans : fichier, texte, image, coder
Répondre à ce message
Sujets en rapport avec ce message
compléter des champs d'un fichier texte d'importation de données [ par manudel ]
Je dispose d'un fichier au format .DAT, composé de n enregistrements.Ce fichier est composé de 6 champs, avec le point virgule comme séparateur de cha
NB Ligne dans un fichier texte [ par ProGMaN007 ]
salut, comment connaître le nombre de ligne dans un fichier txt ?
trier un fichier texte [ par manudel ]
Je dispose d'un fichier texte, composé de 2 champs séparés par un point virgule.Je charge en mémoire ce fichier dans une TStringList.Je veux faire un
Lecture fichier texte ligne par ligne [ par MattXSFR ]
J'utilise le code suivant pour copier le contenu d'un fichier texte dans une liste box (une ligne de list box pour chaque ligne du fichier) :procedure
Imprimer une image et un texte sur la même feuille [ par zeusnul ]
Bonjour,J'aimerais pouvoir imprimer une image et un texte sur la même feuille, mais je suis dans l'incapacité de trouver ça dans l'aide de delphi. Je
Un Label dans une image.. [ par sophie75 ]
Salut à toutes et à tous,C'est mon premier message ici, en fait je débute en Delphi donc excusez-moi si mes questions peuvent parraître idiotes :-)J'a
Probleme Quick Report : impressions multiples [ par funemul ]
Voila mon probleme :jJ'utilise un fichier texte, que je lis seqenciellement et dont j exporte les donnees vers un composant qRrepot.Mon fichier texte
Cacher un fichier texte [ par Furbyz ]
Bonjour,Voila je créer un fichier .exe sous delphi 6 qui permet de lire le comptenue d'un fichier texte nommé info.txtjusque la pas de prob. Mais je v
Imprimer un fichier texte en utilisant notepad ou word [ par touareg ]
Bonjour,Quelqu'un pourrait il me fournir un exemple de code qui lit une liste de fichiers un par un dans un repertoire determine, les imprime en utili
Comment decortiquer un fichier texte [ par apz ]
salut, voila ma premiere question en delphi apres 8 mois d'absence apres un grand probleme et bien je voulais demarrer avec une petite appplication.
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|