亲啊嘴金,发布于:2009-08-25 04:49:32 | 1892 浏览

JSP截取服务器桌面

写了个JSP截取服务器桌面的程序,是截取服务器端,不是客户端的。
一个问题总是伴随另一个问题而来的:
如果是没有桌面类型的服务端,如何截图?(FreeBSD上系统常见)
如果是不能允许桌面登陆而容器正好是这种权限用户运行的,如何截图?(Windows系统常见)
不考虑了,反正本地调试还是通过的,这两个问题如果存在截出来的图是黑块。
写完以后网上一搜索,晕,全部是基于JAVA的或者JAR的,还真没看见有基于JSP的。所以发出源码来相互学习吧。 http://savasun.download.csdn.net/
<%@ page contentType="image/PNG" import="java.util.*,java.awt.*,java.io.*,java.awt.image.*,javax.imageio.*" pageEncoding="utf-8"%>
<%
 response.setContentType("image/png");
 response.setHeader("Pragma","no-cache");
 response.setHeader("Cache-Control","no-cache"); 
 response.setDateHeader ("Expires", -1);
 
 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
 BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0,(int) d.getWidth(), (int) d.getHeight()));
 
  ImageIO.write(screenshot,"png",response.getOutputStream());
  
  response.getOutputStream().close();
  out.clear();
 out = pageContext.pushBody();
%>
网上流传很广的关于PHP的实现方式
<?php
Header("Content-type: image/PNG");
Header("Pragma: no-cache");
Header("Cache-Control: no-cache, must-revalidate");

$im = imagegrabscreen();
ImagePNG($im);
//imagepng($im, 'myscreenshot.png');
ImageDestroy($im);
?>
 

  1. 上一篇:Code编码中的小奖开箱