我将如何在THTMLViewer中显示图像?
HFText是字符串,而HTMLViewer1是THTMLviewer我将如何在THTMLViewer中显示图像?,html,delphi,Html,Delphi,HFText是字符串,而HTMLViewer1是THTMLviewer HFText:= '<html><head><style>'+ 'body {font: Arial 8pt;}'+ '</style></head>'+ '<body marginwidth="0">'+ '<img sr
HFText:= '<html><head><style>'+
'body {font: Arial 8pt;}'+
'</style></head>'+
'<body marginwidth="0">'+
'<img src="http://10.0.0.20/picture/1.jpg" />'+
'</body></html>';
HTMLViewer1.LoadFromString(HFText);
HFText:=''+
'正文{font:Arial 8pt;}'+
''+
''+
''+
'';
HTMLViewer1.LoadFromString(HFText);
这个的输出显示一个感叹号(不是我想要显示的图片)。
我被告知使用OnImageRequest,但我找不到示例来说明该怎么做。如何使用OnImageRequest显示图片?这里没有答案,但下面是我如何排除故障以确定您是否犯了基本错误 首先,验证在浏览器中输入此URL时是否获得了图像。 到目前为止还好吗 接下来,创建一个包含字符串内容的文件test.htm。双击以在浏览器中启动。还行吗
接下来。。。如果使用文件引用而不是http:,是否有效 这里没有答案,但下面是我如何排除故障,看看您是否犯了一个基本错误 首先,验证在浏览器中输入此URL时是否获得了图像。 到目前为止还好吗 接下来,创建一个包含字符串内容的文件test.htm。双击以在浏览器中启动。还行吗
接下来。。。如果使用文件引用而不是http:,是否有效 HTMLViewer有几种不同的处理图像的方法 最简单的方法是设置OnImageRequest处理程序,并使用以下代码:
procedure TForm1.HTMLViewer1ImageRequest(Sender: TObject;
const SRC: string; var Stream: TMemoryStream);
var
wStrm : TMemoryStream;
begin
wStrm := TMemoryStream.create;
try
IdHTTP1.Get(Src, wStrm);
Stream := wStrm;
except
wStrm.free;
Stream := Nil;
end;
end;
上面的代码假设表单上已经有一个IdHTTP1组件用于获取内容,或者也可以从TFileStream加载
在您的示例中,SRC的值为,“http://10.0.0.20/picture/1.jpg“
如果不释放创建的流,HTMLViewer将为您处理。我只在HTTP get出现问题时释放流
HTH.HTMLViewer有几种不同的处理图像的方法 最简单的方法是设置OnImageRequest处理程序,并使用以下代码:
procedure TForm1.HTMLViewer1ImageRequest(Sender: TObject;
const SRC: string; var Stream: TMemoryStream);
var
wStrm : TMemoryStream;
begin
wStrm := TMemoryStream.create;
try
IdHTTP1.Get(Src, wStrm);
Stream := wStrm;
except
wStrm.free;
Stream := Nil;
end;
end;
上面的代码假设表单上已经有一个IdHTTP1组件用于获取内容,或者也可以从TFileStream加载
在您的示例中,SRC的值为,“http://10.0.0.20/picture/1.jpg“
如果不释放创建的流,HTMLViewer将为您处理。我只在HTTP get出现问题时释放流
HTH.工作正常。谢谢。:)工作完美。谢谢。:)