- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi IdDecoderMIME 对图像编码base64解码成图像文件
//编码
procedure TForm1.Button3Click(Sender: TObject);
var
filepath:string ;
filestream:TFileStream;
EncoderMIME:TIdEncoderMIME;
encode_result:String;
begin
if OpenPictureDialog1.Execute then
begin
Memo1.Clear;
EncoderMIME:=TIdEncoderMIME.Create(self);
filestream:= TFileStream.Create(OpenPictureDialog1.FileName,fmOpenRead);
encode_result:=EncoderMime.Encode(filestream);
Memo1.Lines.BeginUpdate;
Memo1.Lines.add(encode_result);
Memo1.Lines.EndUpdate;
filestream.Free;
end;
end;
//解码
procedure TForm1.Button4Click(Sender: TObject);
var
DecoderMIME:TIdDecoderMIME;
filestream:TFileStream;
strm:TMemoryStream;
filepath:string;
myjpeg: TJPEGImage;
begin
myjpeg := TJPEGImage.Create;
strm := TMemoryStream.Create;
filepath:=ExtractFileDir(Application.ExeName);
DecoderMIME:=TIdDecoderMIME.Create(nil);
DecoderMIME.DecodeStream(trim(Memo1.text),strm);
strm.Position:=0;
if strm.size>1 then
begin
//ShowMessage('字符长度:'+IntToStr(strm.size));
// myjpeg.LoadFromStream(strm);
Image1.Picture.Assign(myjpeg);
end;
strm.Free;
end;