
JAVA小程序 帮添加一个保存缩放后图片的功能。
2019-03-12 17:02:19
微信公开课小程序热门讨论「JAVA小程序 帮添加一个保存缩放后图片的功能。」最新回复-已经把JAVA文件已经发给你的QQ了,自己接受吧
增加一个按钮,按钮事件添加下面这个方法。图片路径是你chooser选择的路径,压缩高宽是你缩放后的高宽。保存图片的路径你可以自己设置/***压缩图片方法一(高质量)*@paramoldFile将要压缩的图片*@paramwidth压缩宽*@paramheight压缩高*@paramsmallIcon压缩图片后,添加的扩展名(在图片后缀名前添加)*@paramquality压缩质量范围:i0.0-1.0/i高质量:i0.75/i中等质量:i0.5/i低质量:i0.25/i*@parampercentage是否等比压缩若true宽高比率将将自动调整*/publicstaticvoidcompressImage(StringoldFile,intwidth,intheight,StringsmallIcon,floatquality,booleanpercentage){try{Filefile=newFile(oldFile);//验证文件是否存在if(!file.exists())thrownewFileNotFoundException(找不到原图片!);//获取图片信息BufferedImageimage=ImageIO.read(file);intorginalWidth=image.getWidth();intorginalHeight=image.getHeight();//验证压缩图片信息if(width=0||height=0||!Pattern.matches(^[1-9]\d*$,String.valueOf(width))||!Pattern.matches(^[1-9]\d*$,String.valueOf(height)))thrownewException(图片压缩后的高宽有误!);//等比压缩if(percentage){doublerate1=((double)orginalWidth)/(double)width+0.1;doublerate2=((double)orginalHeight)/(double)height+0.1;doublerate=rate1rate2?rate1:rate2;width=(int)(((double)orginalWidth)/rate);height=(int)(((double)orginalHeight)/rate);}//压缩后的文件名StringfilePrex=oldFile.substring(0,oldFile.lastIndexOf(.));StringnewImage=filePrex+smallIcon+oldFile.substring(filePrex.length());//压缩文件存放位置FilesavedFile=newFile(newImage);//创建一个新的文件savedFile.createNewFile();//创建原图像的缩放版本Imageimage2=image.getScaledInstance(width,height,Image.SCALE_AREA_AVERAGING);//创建数据缓冲区图像BufferedImagebufImage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//创建一个Graphics2DGraphics2Dg2=bufImage.createGraphics();//重绘图像g2.drawImage(image2,0,0,width,height,null);g2.dispose();//过滤像素矩阵float[]kernelData={-0.125f,-0.125f,-0.125f,-0.125f,2,-0.125f,-0.125f,-0.125f,-0.125f};Kernelkernel=newKernel(3,3,kernelData);//按核数学源图像边缘的像素复制为目标中相应的像素输出像素ConvolveOpcOp=newConvolveOp(kernel,ConvolveOp.EDGE_NO_OP,null);//转换像素bufImage=cOp.filter(bufImage,null);FileOutputStreamout=newFileOutputStream(savedFile);JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);JPEGEncodeParamparam=encoder.getDefaultJPEGEncodeParam(bufImage);//设置压缩质量param.setQuality(quality,true);encoder.encode(bufImage,param);out.close();System.out.println(newImage);}catch(Exceptione){e.printStackTrace();System.out.println(压缩失败!+e.getMessage());}}追问被你忽悠了,不知道你从哪儿复制来的压缩图片的代码。追答呵呵,这个是我们项目中用到的代码,有必要富有你?已赞过已踩过评论收起8978307172013-06-17897830717采纳数:15获赞数:41LV4擅长:手机购买电脑装机/选购JAVA相关JavaScriptHtml/Css向TA提问私信TA展开全部好像有个Image输出流你查查api,直接将缩小后的图片用该流输出即可。 更多有关「JAVA小程序 帮添加一个保存缩放后图片的功能。」的疑问请扫码关注微信公开课+小程序!
增加一个按钮,按钮事件添加下面这个方法。图片路径是你chooser选择的路径,压缩高宽是你缩放后的高宽。保存图片的路径你可以自己设置/***压缩图片方法一(高质量)*@paramoldFile将要压缩的图片*@paramwidth压缩宽*@paramheight压缩高*@paramsmallIcon压缩图片后,添加的扩展名(在图片后缀名前添加)*@paramquality压缩质量范围:i0.0-1.0/i高质量:i0.75/i中等质量:i0.5/i低质量:i0.25/i*@parampercentage是否等比压缩若true宽高比率将将自动调整*/publicstaticvoidcompressImage(StringoldFile,intwidth,intheight,StringsmallIcon,floatquality,booleanpercentage){try{Filefile=newFile(oldFile);//验证文件是否存在if(!file.exists())thrownewFileNotFoundException(找不到原图片!);//获取图片信息BufferedImageimage=ImageIO.read(file);intorginalWidth=image.getWidth();intorginalHeight=image.getHeight();//验证压缩图片信息if(width=0||height=0||!Pattern.matches(^[1-9]\d*$,String.valueOf(width))||!Pattern.matches(^[1-9]\d*$,String.valueOf(height)))thrownewException(图片压缩后的高宽有误!);//等比压缩if(percentage){doublerate1=((double)orginalWidth)/(double)width+0.1;doublerate2=((double)orginalHeight)/(double)height+0.1;doublerate=rate1rate2?rate1:rate2;width=(int)(((double)orginalWidth)/rate);height=(int)(((double)orginalHeight)/rate);}//压缩后的文件名StringfilePrex=oldFile.substring(0,oldFile.lastIndexOf(.));StringnewImage=filePrex+smallIcon+oldFile.substring(filePrex.length());//压缩文件存放位置FilesavedFile=newFile(newImage);//创建一个新的文件savedFile.createNewFile();//创建原图像的缩放版本Imageimage2=image.getScaledInstance(width,height,Image.SCALE_AREA_AVERAGING);//创建数据缓冲区图像BufferedImagebufImage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//创建一个Graphics2DGraphics2Dg2=bufImage.createGraphics();//重绘图像g2.drawImage(image2,0,0,width,height,null);g2.dispose();//过滤像素矩阵float[]kernelData={-0.125f,-0.125f,-0.125f,-0.125f,2,-0.125f,-0.125f,-0.125f,-0.125f};Kernelkernel=newKernel(3,3,kernelData);//按核数学源图像边缘的像素复制为目标中相应的像素输出像素ConvolveOpcOp=newConvolveOp(kernel,ConvolveOp.EDGE_NO_OP,null);//转换像素bufImage=cOp.filter(bufImage,null);FileOutputStreamout=newFileOutputStream(savedFile);JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);JPEGEncodeParamparam=encoder.getDefaultJPEGEncodeParam(bufImage);//设置压缩质量param.setQuality(quality,true);encoder.encode(bufImage,param);out.close();System.out.println(newImage);}catch(Exceptione){e.printStackTrace();System.out.println(压缩失败!+e.getMessage());}}追问被你忽悠了,不知道你从哪儿复制来的压缩图片的代码。追答呵呵,这个是我们项目中用到的代码,有必要富有你?已赞过已踩过评论收起8978307172013-06-17897830717采纳数:15获赞数:41LV4擅长:手机购买电脑装机/选购JAVA相关JavaScriptHtml/Css向TA提问私信TA展开全部好像有个Image输出流你查查api,直接将缩小后的图片用该流输出即可。 更多有关「JAVA小程序 帮添加一个保存缩放后图片的功能。」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序

「JAVA小程序 帮添加一个保存缩放后图片的功能。」热议话题订阅
方法1:微信扫描微信公开课小程序码即可订阅热议话题「JAVA小程序 帮添加一个保存缩放后图片的功能。」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「JAVA小程序 帮添加一个保存缩放后图片的功能。」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「JAVA小程序 帮添加一个保存缩放后图片的功能。」
微信公开课小程序热议话题「JAVA小程序 帮添加一个保存缩放后图片的功能。」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「JAVA小程序 帮添加一个保存缩放后图片的功能。」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-03-12 17:02:19
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>