这篇文章主要讲解了“Java怎么实现按比例缩小图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java怎么实现按比例缩小图片”吧!
使用spring注解上传文件@RequestParam(value="", required=true),required为true时不能传入空值,为false时反之;UploadFile.getOriginalFilename()获取上传的文件的文件名;System.nanoTime()返回当前时间的纳秒,用做文件名;FileUtils.writeByteArrayToFile()上传文件到本地目录;使用BufferedImage将图片加载到内存中,然后对图片进行修改如大小变换、图片变灰、设置透明等。
效果图:
HTML:
<div class="form-group"> <label class="col-lg-1 col-md-1 col-sm-2 col-xs-2 label-size"><span class="c-red">*</span>头像:</label> <div class="col-lg-4 col-md-4 col-sm-4 col-xs-4 img-padding-zero"> <div> <span id="Upload_ph" class="img-hide"> <input type="file" title="" id="UploadFile" name="UploadFile" multiple="" class="img-input"> </span> <span> <img alt="" src="${ctx}/UserManages/reveal_photo.do?file=tree.png"> <a class="a-word" >上传图片</a> <a id="showApellation" class="a-word" ></a> </span> </div> <div> <img src="${ctx}/UserManages/reveal_photo.do?file=noImg.png" class="img-padding" width="198" height="198" alt="" id="imgOperPhoto1" onload="AutoResizeImage(198, 198, this)" title="用于头像显示"> <img src="${ctx}/UserManages/reveal_photo.do?file=noImg_tab.png" class="img-padding" width="28" height="40" alt="" id="imgOperPhoto3" title="用于列表显示"> </div> </div> </div>
form表单提交到java:
@SuppressWarnings("unused") @RequestMapping(value="/IntOpers") private void IntOper(@RequestParam(value="UploadFile", required=true) MultipartFile UploadFile, PrintWriter pw, HttpServletRequest request) throws IOException { String StrReturn = "error", FileName = "", ext = ""; long time = 0; if (!UploadFile.isEmpty()) { if (UploadFile != null) { String fullName = UploadFile.getOriginalFilename(); ext = fullName.substring(fullName.lastIndexOf("."));//获取扩展名称 time = System.nanoTime(); FileName = time + ext;//设置文件保存的名称 //原图 String upDir = "F:/java/upload-ssm";//文件上传路径 FileUtils.writeByteArrayToFile(new File(upDir, FileName), UploadFile.getBytes()); //缩小图片 Image srcFile = ImageIO.read(new File(upDir + "/" + FileName)); BufferedImage tag = new BufferedImage(28, 40, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(srcFile, 0, 0, 28, 40, null); String FileName_tab = time + "_tab" + ext;//设置文件保存的名称 FileOutputStream out = new FileOutputStream(upDir + "/" + FileName_tab); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag); jep.setQuality(1f, true); encoder.encode(tag, jep); out.close(); StrReturn = "success"; } } pw.write(StrReturn); }
感谢各位的阅读,以上就是“Java怎么实现按比例缩小图片”的内容了,经过本文的学习后,相信大家对Java怎么实现按比例缩小图片这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。