delphi 下载保存网络图片
时间: 2023-10-07 10:12:55 浏览: 90
在 Delphi 中下载并保存网络图片可以通过 `TIdHTTP` 组件和 `TFileStream` 组件实现,具体步骤如下:
1. 在 Delphi 中创建一个新的 VCL 应用程序,将一个 `TButton` 控件放到窗体上。
2. 在 `TButton` 的 `OnClick` 事件中编写以下代码:
```delphi
procedure TForm1.Button1Click(Sender: TObject);
var
IdHTTP: TIdHTTP;
FS: TFileStream;
begin
IdHTTP := TIdHTTP.Create(nil);
FS := TFileStream.Create('image.jpg', fmCreate);
try
IdHTTP.Get('https://example.com/image.jpg', FS); // 替换为实际的图片地址和本地保存路径
finally
FS.Free;
IdHTTP.Free;
end;
end;
```
3. 运行程序,点击按钮即可下载并保存图片到本地。
上述代码使用 `TIdHTTP` 的 `Get` 方法下载图片,并将图片数据保存到一个 `TFileStream` 中,替换代码中的图片地址为实际的地址和本地保存路径即可。如果需要下载多张图片,可以在循环中调用上述代码。
相关问题
delphi 下载保存网络图片,选择路径
在 Delphi 中下载并保存网络图片并让用户选择保存路径,可以通过 `TIdHTTP` 组件和 `TSaveDialog` 组件实现,具体步骤如下:
1. 在 Delphi 中创建一个新的 VCL 应用程序,将一个 `TButton` 控件放到窗体上。
2. 在 `TButton` 的 `OnClick` 事件中编写以下代码:
```delphi
procedure TForm1.Button1Click(Sender: TObject);
var
IdHTTP: TIdHTTP;
FS: TFileStream;
SaveDialog: TSaveDialog;
begin
IdHTTP := TIdHTTP.Create(nil);
SaveDialog := TSaveDialog.Create(nil);
try
SaveDialog.Filter := 'JPEG Images|*.jpg';
if SaveDialog.Execute then
begin
FS := TFileStream.Create(SaveDialog.FileName, fmCreate);
try
IdHTTP.Get('https://example.com/image.jpg', FS); // 替换为实际的图片地址
finally
FS.Free;
end;
end;
finally
SaveDialog.Free;
IdHTTP.Free;
end;
end;
```
3. 运行程序,点击按钮即可弹出保存对话框,选择保存路径后下载并保存图片到本地。
上述代码使用 `TSaveDialog` 组件让用户选择保存路径,如果用户点击了保存按钮,则使用选择的路径创建一个 `TFileStream`,并将图片数据保存到这个文件中。替换代码中的图片地址为实际的地址即可。如果需要下载多张图片,可以在循环中调用上述代码。
delphi 下载网络图片
在 Delphi 中下载网络图片可以通过 `TIdHTTP` 组件实现,具体步骤如下:
1. 在 Delphi 中创建一个新的 VCL 应用程序,将一个 `TButton` 和一个 `TImage` 控件放到窗体上。
2. 将一个 `TIdHTTP` 组件和一个 `TMemoryStream` 组件放到窗体上,设置 `TIdHTTP` 的 `HandleRedirects` 属性为 True(允许重定向)。
3. 在 `TButton` 的 `OnClick` 事件中编写以下代码:
```delphi
procedure TForm1.Button1Click(Sender: TObject);
var
IdHTTP: TIdHTTP;
MS: TMemoryStream;
begin
IdHTTP := TIdHTTP.Create(nil);
MS := TMemoryStream.Create;
try
IdHTTP.Get('https://example.com/image.jpg', MS); // 替换为实际的图片地址
MS.Position := 0;
Image1.Picture.LoadFromStream(MS);
finally
MS.Free;
IdHTTP.Free;
end;
end;
```
4. 运行程序,点击按钮即可下载并显示图片。
上述代码使用 `TIdHTTP` 的 `Get` 方法下载图片,将图片数据保存到一个 `TMemoryStream` 中,再通过 `TPicture` 的 `LoadFromStream` 方法加载图片。注意替换代码中的图片地址为实际的地址。如果需要下载多张图片,可以在循环中调用上述代码。
阅读全文