Java Applet是在程序运行时,从服务器下载到客户机端运行的可执行代码。 Java Applet是由面向对象语言Java开发的小应用程序,与Web浏览器紧密结合,以扩展Web浏览器的功能,完成GIS数据操作和GIS处理。
GIS Java Applet最初为驻留在Web服务器端的可执行代码。在通常情况下,GIS Java Applet包容在HTML代码中,并通过<APPLET>参考标签来获取和引发。它能完成GIS数据解释和GIS分析功能。但是,对于处理大型的GIS分析任务(如叠置、资源分配等)的能力,无法与CGI模式相比;GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制.
基于GIS Java Applet的WebGIS的优势:
GIS操作速度快。所有的GIS操作都是在本地由GIS Java Applet完成,因此运行的速度快。
服务器和网络传输的负担轻。服务器仅需提供GIS数据服务,网络也只需将GIS数据一次性传输。服务器的负担很小,网络传输的负担轻。
基于GIS Java Applet的WebGIS的劣势:
需要安装JVM,受到平台的限制
后续工作添加Java Applet开发WebGIS实现原理.
1.放大
2.缩小
3.旋转
下面有款开源的实现上面的功能的project.
http://sourceforge.net/projects/jcdsee
放大、缩小可以用Image.getScaledInstance()方法,移动在jdk5.0 的 Documentation 里有例子;
用 Applet 或 Application 的原理其实都是一样的。
Java applet实现图片的放缩问题 现总结两种方法:1.在画板(canvas)中显示图片,通过画板大小的控制来实现图片的放大缩小.2.直接利用算法来控制图片的放大缩小.
参考:
以下网址有许多处理图像的源码:
http://dmoz.org/Computers/Programming/Languages/Java/Class_Libraries/Graphics/
http://dmoz.org/Computers/Programming/Languages/Java/Class_Libraries/Graphics/Data_Formats/
优快云 Topic Code:
Scale an Image
import java.awt.image.*;
import java.awt.*;
import java.net.*;
public class app extends java.applet.Applet {
Image source;
Image resizedImage;
public void init() {
MediaTracker media = new MediaTracker(this);
// java how-to image for example
source = getImage(getDocumentBase(),"jht.gif");
media.addImage(source,0);
try {
media.waitForID(0);
// scale down, half the original size
ImageFilter replicate =
new ReplicateScaleFilter
(source.getWidth(this)/2, source.getHeight(this)/2);
ImageProducer prod =
new FilteredImageSource(source.getSource(),replicate);
resizedImage = createImage(prod);
media.addImage(resizedImage,1);
media.waitForID(1);
}
catch(InterruptedException e) {}
}
public void paint(Graphics g) {
g.drawImage(source, 10,10,this);
g.drawImage(resizedImage,10, 80,this);
}
}
kaixin110 是一位Web工程师。他原来是在郑州一家软件公司做WebGIS(JSP+Servlet+Tomcat),对WebGIS的原理有一定研究,在狂热地编写代码之余,他喜欢打篮球并体验软件带给我们的惊喜 。目前在中国深圳一公司做Web开发(ASP.NET),如果您希望就本文与 kaixin110联系,则可以通过 www.goodbus.cn与他联系。