首页 > 解决方案 > 直到函数执行的进度条

问题描述

在此代码中,Base64FromBitmap()将图像转换为字符串,然后,结果将出现在 RichEdit 中。有时,此过程需要几秒钟(基于图像的大小)。我想添加一个进度条来显示进度,直到完成该过程。Base64FromBitmap()函数中没有For 循环。

function Base64FromBitmap(Bitmap: TBitmap): string;
var
  Input: TBytesStream;
  Output: TStringStream;
  Encoding: TBase64Encoding;
begin
  Input := TBytesStream.Create;
  try
    Bitmap.SaveToStream(Input);
    Input.Position := 0;
    Output := TStringStream.Create('', TEncoding.ASCII);
    try
      Encoding := TBase64Encoding.Create(0);
      try
        Encoding.Encode(Input, Output);
        Result := Output.DataString;
      finally
        Encoding.Free;
      end;
    finally
      Output.Free;
    end;
  finally
    Input.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := Base64FromBitmap(Image1.Picture.Bitmap);
  RichEdit.Text := s;
end;

标签: stringimagedelphiprogress-barrichedit

解决方案


推荐阅读