Delphi 访问https图片


本文整理自网络,侵删。

 
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.Net.URLClient,  Jpeg,
  System.Net.HttpClient, System.Net.HttpClientComponent, Vcl.StdCtrls,
  Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    btn1: TButton;
    http: TNetHTTPClient;
    NetHTTPRequest1: TNetHTTPRequest;
    img1: TImage;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
url:string;           // 图片地址
flag:IHTTPResponse;    // TNetHTTPClient控件发起访问后的返回信息(主要是 状态码和cookies)
image:TMemoryStream;   // 保存网页返回的图片数据的内存流(可以理解为保存byte数据的数组)
 png :TjpegImage;       // 图片流 将内存流转换为图片流然后 传递给   TImage控件使用
begin
   // 首先需要引入对应的图片类型库,在此处为 (uses Jpeg )
try
  image:=TMemoryStream.Create;         //构造内存流
  png :=TjpegImage.Create;            //构造图片流
  image.Position:=0;                 /// 设置内存流的postion,防止内存访问错误
  url:='https://www.mxttbk.com/wp-content/uploads/2020/08/bb119d5df9a4c0238b556d0197ec53fa.jpeg';
  /// <summary>
  /// 第一个参数是 图片地址
  ///  第二个参数是 内存流 (image)
  /// </summary>
flag:=http.Get(url,image);   // 发起访问
png.LoadFromStream(image);  // 将内存流 (image)转换到 图片流(png)
img1.Picture.Assign(png);    // 将图片流 传递给 图片控件
finally
// 释放流
    image.Free;
    png.Free;
end;

end;

end.

相关阅读 >>

Delphi 显示选择文件夹对话框 (有新建按钮)

Delphi获取exe文件版本信息的函数

Delphi searchrec.attr and fadirectory

Delphi vista以上系统的进程静音

Delphi 中文urlencode的简单办法

Delphi 实现 图灵机器人api(idhttp post )

Delphi 取得桌面文件夹的路径和取得我的文档的路径

Delphi读ios的设备id

Delphi 以二进制方式读取图片保存到string

Delphi 检查声卡是否安装

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...