java实现按比例缩小图片-mile米乐体育
本文实例为大家分享了java实现按比例缩小图片的具体代码,供大家参考,具体内容如下
使用spring注解上传文件@requestparam(value="", required=true),required为true时不能传入空值,为false时反之;uploadfile.getoriginalfilename()获取上传的文件的文件名;system.nanotime()返回当前时间的纳秒,用做文件名;fileutils.writebytearraytofile()上传文件到本地目录;使用bufferedimage将图片加载到内存中,然后对图片进行修改如大小变换、图片变灰、设置透明等。
效果图:
html:
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); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。