如何在TImage上显示Div背景图像

Tallys Ferrante

我有一个从各个站点收集信息以填充数据库的应用程序。我被困在有验证码的这个网站上。我需要向用户显示验证码。问题是图像位于的background-imageDIV

DIV idcaptchaCodigo

我知道如何通过ID和名称获取元素,使用值等。但是我不知道如何获取图片或URL。

提前致谢

重复直到

图像为base64 encoding,您需要将其形成html代码并将其转换为位图,请不要忘记发送uuidCaptcha带有您的发帖请求的ID,该ID是标识您在程序中输入的验证码的ID。

uses Soap.EncdDecd, IdHTTP, System.StrUtils, pngimage;

Function _ExtractBetweenTags(Const s, LastTag, FirstTag: string; TrimTags: Boolean = True): string;
var
  pLast,pFirst,pNextFirst : Integer;
begin
  pFirst := Pos(FirstTag,s);
  pLast := Pos(LastTag,s);
  while (pLast > 0) and (pFirst > 0) do begin
    if (pFirst > pLast) then // Find next LastTag
      pLast := PosEx(LastTag,s,pLast+Length(LastTag))
    else
    begin
      pNextFirst := PosEx(FirstTag,s,pFirst+Length(FirstTag));
      if (pNextFirst = 0) or (pNextFirst > pLast) then begin
        if TrimTags then begin
          Result := Trim(StringReplace(Trim(Copy(s,pFirst,pLast-pFirst+Length(LastTag))), LastTag, '', [rfReplaceAll, rfIgnoreCase]));
          Result := Trim(StringReplace(Result, FirstTag, '', [rfReplaceAll, rfIgnoreCase]));
        end
        else
        Result := Trim(Copy(s,pFirst,pLast-pFirst+Length(LastTag)));
        Exit;
      end
      else
        pFirst := pNextFirst;
    end;
  end;
  Result := '';
end;

procedure TForm4.btn1Click(Sender: TObject);
var
  Input: TStringStream;
  Output: TBytesStream;
  sTmp, uuidCaptcha, captchaCodigo: string;
  IdHTTP: TIdHTTP;
  Graphic: TGraphic;
begin
  IdHTTP := TIdHTTP.Create(nil);
  try
    IdHTTP.AllowCookies := True;
    IdHTTP.HandleRedirects := True;
    IdHTTP.Request.Connection := 'keep-alive';
    IdHTTP.Request.UserAgent := 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36';
    sTmp := IdHTTP.Get('http://www.tjms.jus.br/cpopg5/imagemCaptcha.do');
    uuidCaptcha := _ExtractBetweenTags(sTmp, '"}', '"uuidCaptcha": "'); // You need this when you send the post request
    captchaCodigo := _ExtractBetweenTags(sTmp, '", "labelValorCaptcha":', 'base64,');
    mmo1.Lines.Add(captchaCodigo);
    Input := TStringStream.Create(captchaCodigo, TEncoding.ASCII);
    try
      Output := TBytesStream.Create;
      try
        Soap.EncdDecd.DecodeStream(Input, Output);
        Output.Position := 0;
        Graphic := TPngImage.Create;
        try
          Graphic.LoadFromStream(Output);
          img1.Picture.Bitmap.Assign(Graphic);  // Your Image loads here
        finally
          Graphic.Free;
        end;
      finally
        Output.Free;
      end;
    finally
      Input.Free;
    end;
  finally
    IdHTTP.Free;
  end;
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在TImage上显示Div背景图像

来自分类Dev

如何在屏幕上显示背景图像?

来自分类Dev

如何在Rails上显示整页背景图像?

来自分类Dev

如何在div元素上转换多个背景图像?

来自分类Dev

图像未在div上显示为背景图像

来自分类Dev

如何在具有背景尺寸的div上缩放背景图像

来自分类Dev

如何在旋转图像CSS或Javascript时使背景图像填充空白(在div上)?

来自分类Dev

如何在包含背景图像的空div上覆盖div?

来自分类Dev

如何在图像上做出响应的背景图像

来自分类Dev

如何在双显示器上获得不同的背景图像?

来自分类Dev

如何在另一个背景图像上获取带有文本的div

来自分类Dev

如何延迟div中背景图像的显示

来自分类Dev

如何在CSS中组合背景图像+线性渐变?背景图像上的线性渐变

来自分类Dev

如何在单个表格后面显示身体背景图像?

来自分类Dev

如何在分栏页面上显示背景图像

来自分类Dev

CSS:如何在div中模糊背景图像?

来自分类Dev

CSS:如何在div中模糊背景图像?

来自分类Dev

如何在 div 中使用背景图像?

来自分类常见问题

如何在背景图像上添加颜色叠加?

来自分类Dev

如何在Bootstrap表单上放置背景图像?

来自分类Dev

如何在小型设备上放大背景图像

来自分类Dev

<div>中的背景图像不显示

来自分类Dev

DIV中的背景图像未显示?

来自分类Dev

使div透明并显示背景图像

来自分类Dev

背景图像未在Div中显示

来自分类Dev

CSS:背景图像不显示的div

来自分类Dev

我的 Div 的背景图像不会显示

来自分类Dev

背景图像未显示在 div 中

来自分类Dev

如何在QGraphicsScene或QGraphicsView上显示/隐藏背景图?

Related 相关文章

热门标签

归档