JiveJdon Community Forums
在线127人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 1 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
naturer

发表文章: 2
注册时间: 2006年01月24日 12:33
请问传输并显示图像的快速方法!!急切烦请大家给些意见啊!!急!! 发表: 2006年01月24日 12:38 回复
请问知道一个图片的URL后,如何将写个applet,让它在applet中显示出来,速度要快。我以前用的是:
applet访问servlet,由servlet根据url取得图片的ImageIcon对象后,返回给applet,在applet中再得到Image对象,
并再paint方法中利用drawImage方法画出。

servlet中的主要代码如下:


//根据URL取图片
public ImageIcon getImageIcon2(String urlStr)
{
try
{
System.out.println(
"getIcon Begin");
ImageIcon toII=new ImageIcon(new URL(urlStr));
System.out.println(
"getIcon End");

return toII;
}
catch(Exception e)
{
System.out.println(
"getIcon error");
return null;
}
}



//在servlet中发送ImageIcon对象的方法
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
ObjectInputStream in=null;
ObjectOutputStream out=null;

ImageIcon ii=null;

try
{
in=new ObjectInputStream(request.getInputStream());
out=new ObjectOutputStream(response.getOutputStream());


ii=getImageIcon2(
"http://xxxx/1.jpg"); //参数是一个图片的url,位于其它机器上
//发送图像
out.writeObject(ii);
}
catch(Exception e)
. . .. .


Applet中访问servlet的主要代码如下:


try {
URL url1 = new URL(IMGSERVERADDR);
//参数是被访问的servlet的url
conn = url1.openConnection();
//使浏览器不缓存这个URL
conn.setUseCaches(false);
//允许接收服务器发来的数据
conn.setDoInput(true);
//允许发送数据到服务器
conn.setDoOutput(true);

//发送请求地图的字符串
objOutputS = new ObjectOutputStream(conn.getOutputStream());
objOutputS.writeObject(str);

//启动ExecuteRequest线程以执行接收并画出图像的任务
ExecuteRequest0809 exeR = new ExecuteRequest0809();
Thread exec = new Thread(exeR);
exec.start();
.. .. ..


我在windows的IE中输入图片的url后,很快就可以得到图片,而我的程序得到图片的时间很长,
是前者的8~10倍。请问,有什么方法,可以让取图的速度快些呢?如果能够边取边显示就好了,
及先显示到来的数据,刷新显示,这样就感觉上快些,请大家多多帮忙!!!不胜感激!!
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: 请问传输并显示图像的快速方法!!急切烦请大家给些意见啊!!急!! 发表: 2006年02月07日 17:51 回复
IE浏览器可以直接显示图片,它只要调用一个专门显示图片的URL就可以,applet专门显示图片除非是保密防止拷贝才使用。

你可以开启多个线程,将图片分块同时读取,就象下载软件一样。
这个主题有 1 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam