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屏蔽win、ctrl_esc、alt_tab、alt_f4等键(windows xp、windows 2003 server下测试通过)

Delphi 将word嵌入Delphi

Delphi webbrowser获取iframe页面内容

floattostr 将“浮点型”转换成“字符型”

Delphi图片上写水印文字函数

Delphi 字符串中加入换行符slinebreak

Delphi实现使用tidhttp控件向https地址post请求

Delphi 官方提供的六十多个firedac例子

Delphi 查看指定文件是否在进程列表中

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



打赏

取消

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

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

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

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

评论

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