string - 直到函数执行的进度条
问题描述
在此代码中,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;
解决方案
推荐阅读
- homebrew - Brew 更新工作后 Mac Mojave 10.14.2 上的 Brew 升级失败
- c# - 按下按钮后将文本放入固定宽度的列
- javascript - Nodemailer 在特定日期之后发送电子邮件?
- angular - Angular img 无法从 url 加载图像
- apache - WAMP 自定义 url 在主机上工作但在其他机器上不工作
- java - 交换矩阵的两列
- c# - 如何在 asp.net 自托管 API 中启用 CORS?
- hyperledger-sawtooth - 如何获取属于一个状态的所有交易?
- java - 将数组中对象的值相加
- python-3.x - 如何自定义 AWS Codestar / Cloudformation 模板来创建特定的代码构建项目?