当前位置: 代码迷 >> Java Web开发 >> 求JS+JSP截图解决思路
  详细解决方案

求JS+JSP截图解决思路

热度:208   发布时间:2016-04-17 17:17:51.0
求JS+JSP截图
如题
  要求可以用鼠标拖动截图区大小和显示截图区预览
鼠标双击后截取图片存储到指定文件夹

------解决方案--------------------
首先用js来确定截取的图片的范围,给整个图片和截取范围信息传递给jsp程序,通过Java来截取
js确定截取图片的代码:http://topic.csdn.net/u/20080806/02/B295D4E4-C98F-4621-9835-B7D915B4952D.html
然后通过java来截取对应的图片即可完成楼主的功能!
------解决方案--------------------
java截图
Java code
import java.awt.Dimension;   import java.awt.Rectangle;   import java.awt.Robot;   import java.awt.Toolkit;   import java.awt.image.BufferedImage;   import java.io.File;     import javax.imageio.ImageIO;     /*******************************************************************************   * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照" This JavaBean is used to snapshot the   * GUI in a Java application! You can embeded it in to your java application   * source code, and us it to snapshot the right GUI of the application   *    * @see javax.ImageIO   * @author liluqun ([email]liluqun@263.net[/email])   * @version 1.0   *    ******************************************************************************/    class GuiCamera   {       private String fileName; // 文件的前缀         private String defaultName = "GuiCamera";         static int serialNum = 0;         private String imageFormat; // 图像文件的格式         private String defaultImageFormat = "png";         Dimension d = Toolkit.getDefaultToolkit().getScreenSize();         /***********************************************************************       * 默认的文件前缀为GuiCamera,文件格式为PNG格式 The default construct will use the       * default Image file surname "GuiCamera", and default image format       * "png"       **********************************************************************/      public GuiCamera()       {       fileName = defaultName;       imageFormat = defaultImageFormat;       }         /***********************************************************************       * @param s       *                the surname of the snapshot file       * @param format       *                the format of the image file, it can be "jpg" or "png"       *                本构造支持JPG和PNG文件的存储       **********************************************************************/      public GuiCamera(String s, String format)       {       fileName = s;       imageFormat = format;       }         /***********************************************************************       * 对屏幕进行拍照 snapShot the Gui once       **********************************************************************/      public void snapShot()       {       try      {           // 拷贝屏幕到一个BufferedImage对象screenshot       //这里 createScreenCapture中的4个参数就是需要截取的图形的2个顶点,也就是通过js确定的2个点        BufferedImage screenshot = (new Robot())               .createScreenCapture(new Rectangle(0, 0,                   (int) d.getWidth(), (int) d.getHeight()));           serialNum++;           // 根据文件前缀变量和文件格式变量,自动生成文件名           String name = fileName + String.valueOf(serialNum) + "."              + imageFormat;           File f = new File(name);           System.out.print("Save File " + name);           // 将screenshot对象写入图像文件           ImageIO.write(screenshot, imageFormat, f);           System.out.print("..Finished! ");       } catch (Exception ex)       {           System.out.println(ex);       }       }         public static void main(String[] args)       {       GuiCamera cam = new GuiCamera("Test", "png");       cam.snapShot();       }   }
  相关解决方案