{Convertit le flux Stream en une chaine composée de caractères hexadécimaux} function ConvertToHex(Stream: TStream):string; var Buffer: byte; begin Result := EmptyStr; //Recale le flux au début Stream.Seek(0, soFromBeginning); //lecture de chaque octet dans le flux while Stream.Read(Buffer, 1) = 1do //transformation en caractères hexadécimaux Result := Result + IntToHex(Buffer, 2); end ; procedure TForm1.Button1Click(Sender: TObject); var Stream: TMemoryStream; S: String; begin //création d'un flux en mémoire Stream : = TMemoryStream.Create; try //enregitrer l'image dans le flux Image1.Picture.Graphic.SaveToStream(Stream); //Conversion du flux S := ConvertToHex(Stream); {Ecrire la chaine résultante dans un TMemo} Memo1.Lines.BeginUpdate; Memo1.Text := S; Memo1.Lines.EndUpdate; finally Stream.Free; end ; {try..finally} end;
procedure TForm1.Button1Click(Sender: TObject); var Stream: TMemoryStream; S: string; jpeg: TJpegImage; begin //création d'un flux en mémoire Stream := TMemoryStream.Create; try jpeg := TJPegImage.Create; try jpeg.LoadFromFile('MonImage.jpg'); jpeg.SaveToStream(Stream); //Conversion du flux S := ConvertToHex(Stream); {Ecrire la chaine résultante dans un TMemo} Memo1.Lines.BeginUpdate; Memo1.Text := S; Memo1.Lines.EndUpdate; finally jpeg.Free; end ; {try..finally} finally Stream.Free; end; {try..finally} end;