你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / C专栏
用java教你学会截图
 

首先这个问题也困扰了我挺久,慢慢的我就摸索出一条路子,其实也挺简单的。

废话不多说,看我如何降服这妖怪...

首先用到jquery的一个插件,Jcrop。用这个工具截取你需要的图片大小。

然后要提交这个被截图的大小,也就是坐标了。

比如这样的代码: <form  action="/browsing/privacy.do?method=dos" method="post" name="formsa">
                        <input type="hidden" size="4" id="x" name="x" />
                        <input type="hidden" size="4" id="y" name="y" />
                        <input type="hidden" size="4" id="w" name="w" />
                        <input type="hidden" size="4" id="h" name="h" />
                    </form>

这里是记录了4个坐标,截取图片高,宽,和XY的坐标数据。如果为了美观用的不是input文件域按钮的而是用图片的话,这里有一个难点。那怎么解决呢。解决方案就是通过<A hidefocus="true"  class="addfileA" href="javascript:void(0)">
                          <input hidefocus="true"  class="addfileI"  type="file" id="files" name="file" size="1"  onchange="formsubmit()" /></A>

然后定义样式.addfileA{ position:relative; cursor:hand; text-decoration:none; background-image: url('/browsing/pic/sctx02.gif'); width:20px;height: 30px }
.addfileI { cursor:hand; position:relative; left:0px; width:108px;height: 30; background-color: blue; opacity:0; filter:alpha(opacity=0) ;height: 30px}

通过这种方法可以实现图片提交文件域了。(为什么要这样呢,因为为了安全起见规定是不能用JavaScript提交文件域的)

图片截取了,坐标搞定了。现在就差如何用java代码截取图片了。

看下面代码:String x = request.getParameter("x");
    String y = request.getParameter("y");
    String w = request.getParameter("w");
    String h = request.getParameter("h");
    String images = request.getParameter("imagesLOAD");
   
    
    ActionForward forwrad = new ActionForward();
 
        User user=((User)request.getSession().getAttribute("user"));
        BrowsingUser browsingUser=browsingUserDAO.load(user.getDataId());
        SystemParameter systemParameter = (SystemParameter) request.getSession().getServletContext().getAttribute("systemParameter");
    String imagesURL=systemParameter.getFileUrlName()+File.separator+images;
    images=images.replace("/", File.separator);
        OperateImage image = new OperateImage(Integer.parseInt(x),Integer.parseInt(y),Integer.parseInt(w),Integer.parseInt(h));
   image.setSrcpath(systemParameter.getFliePath()+File.separator+"touxiang"+File.separator+user.getUsername()+File.separator+images);
        image.setSrcpath(systemParameter.getFliePath()+images);
       
        images=this.returnstring(systemParameter.getFliePath()+images);
     
        image.setSubpath(images);
        image.cut();

那么该image就是截取后他图片了路径就是images了。

然后在你要显示截取后图片的地方用images的路径就OK了。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089