在Delphi'中保存特定图像;那是特威布鲁瑟?

在Delphi'中保存特定图像;那是特威布鲁瑟?,delphi,twebbrowser,Delphi,Twebbrowser,我需要在Twebbrowser中保存一个特定的图像,但不需要重新加载它;图像已加载。我知道如何获取图像的源url并下载它,但我真正需要的是保存已经加载到浏览器中的图像。有办法吗 谢谢 似乎没有直接的方法将图像元素保存到文件中,所以我会从缓存中获取它。要通过给定的资源URL从IE缓存复制文件,可以使用如下函数。URL参数是HTML标记的src属性值,FileName是目标文件名: uses WinInet; procedure SaveInetResourceToFile(const URL

我需要在Twebbrowser中保存一个特定的图像,但不需要重新加载它;图像已加载。我知道如何获取图像的源url并下载它,但我真正需要的是保存已经加载到浏览器中的图像。有办法吗


谢谢

似乎没有直接的方法将图像元素保存到文件中,所以我会从缓存中获取它。要通过给定的资源URL从IE缓存复制文件,可以使用如下函数。
URL
参数是HTML标记的
src
属性值,
FileName
是目标文件名:

uses
  WinInet;

procedure SaveInetResourceToFile(const URL, FileName: string);
var
  BufferSize: DWORD;
  CacheEntry: PInternetCacheEntryInfo;
begin
  if not RetrieveUrlCacheEntryFile(PChar(URL), TInternetCacheEntryInfo(nil^),
    BufferSize, 0) then
  begin
    if GetLastError = ERROR_INSUFFICIENT_BUFFER then
    begin
      GetMem(CacheEntry, BufferSize);
      try
        if RetrieveUrlCacheEntryFile(PChar(URL), CacheEntry^, BufferSize, 0) then
        try
          Win32Check(CopyFile(CacheEntry.lpszLocalFileName, PChar(FileName),
            False));
        finally
          Win32Check(UnlockUrlCacheEntryFile(PChar(URL), 0));
        end
        else
          RaiseLastOSError;
      finally
        FreeMem(CacheEntry);
      end;
    end
    else
      RaiseLastOSError;
  end;
end;

我认为如果它被显示,那么它已经在你的MSIE缓存的应用程序部分,所以如果你直接打开它,它将从缓存中获取,而不是从服务器是的,这是我想要的,从IE缓存中保存;但是我不知道怎么做。我刚刚发现了一个解决方案的问题:)你问的是如何保存已加载的图像,而不是如何将其呈现到设备上下文。。。是的,有一个解决办法,但严格地说,不是解决你现在提出的问题的办法。