有关CGI返回图像和文字的问题(150分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个CGI时,需要返回产品的图像与产品文字介绍,图像是放在GRAPHIC字段里的,
请教该如何做?
 
产品文字-->memo
 
这是摘过来的一段文字,希望对你有用。
返回图像的方法是用TwebResponse.ContentStream和TjpegImage类。具体实现如下,
例如您有三张图片,希望在别人访问您的主页时能随机的显示一张,在您的主页中有如
下的HTML语句:<IMG SRC="/scripts/mypict.dll">,那么在您的Web Server的缺省的
TwebActiveItem中如下处理:

var
Jpg: TJpegImage;
S: TMemoryStream;
I: Integer;
Begin
Randomize;
I:= Random(3);
Jpg := TJpegImage.Create;
try
Jpg.LoadFromFile('C:/WebShare/Scripts/test'+IntToStr(I)+'.Jpg');
S := TMemoryStream.Create;
try
Jpg.SaveToStream(S);
S.Position := 0;
Response.ContentType := 'image/jpeg';
Response.ContentStream := S;
Response.SendResponse;
finally
S.Free;
end;
finally
Jpg.Free;
end;
end;

因为使用了TJpegImage类,所以必须在Uses中添加对JPEG文件的包含。
 
谢谢教父的指导,我也曾见过类似的教程,可我不知道的是如果包括图片和文字该如何做呢?
此教程仅仅是返回图片啊,请再次指教谢谢。
 
请参看delphi的demos/Webserv中的例子
 
那我也不清楚,实在不行的话,把文字画成图片吧。
 
to pqx:DELPHI的教程也仅仅是返回图像,可我需要的是图像与文字一起
to 教父:画成图片也不行,体积变大不说,我在里面还有一些链接。
 
DELPHI的教程是返回图像与文字的,你是要重叠的吗?(图像与文字要如何排列?)
如果要重叠的话,则要用定位的方式,(layer)
 
我是返回产品的图像与文字不是重叠
 
图片按照教父的方法是对的。
要输出同时字符的话可以用这种方法:
response.contenttype:='text/html';
html:=html+ '< img src=........'
html:=html+ '文字........';
response.content:=html;
Response.SendResponse;
 
to www:
如果是用<img src=...那我就得把图片存成文件形式,然后形成路径,
可我的图片是存放在GRAPHIC字段,而且我也不打算用文件形式(因为效率原因),
因此用您的方法并不能成。
 
你还是认真查看delphi的demos/Webserv中的例子
特别是BioLifeProducer中的技巧,你认真查看该控件中的htmldoc property,
it inclue <#Notes> that is text,
<#Graphic> that is graph,
please check table control "BioLife" ,
请查看他的Graphic字段的OnGetText event,
Text := Format('<IMG SRC="/scripts/%s/getimage" alt="[%s]" border="0">',
[ScriptName, BiolifeCommon_Name.Text]);
在此它又调用了getimage的WEBactioitem而获得graph

Notes字段的OnGetText event,
Text := Sender.AsString;
get the text

Are you understand?

 
谢谢pqx,我没有注意DEMO
 
多人接受答案了。
 
后退
顶部