利用java如何实现一个图片缩放效果

  介绍

这篇文章主要介绍了利用java如何实现一个图片缩放效果,小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随小编来看看吧!

java是什么

java是一门面向对象编程语言,可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序。

package 交易;      import  java.awt.Color;   import  java.awt.Graphics;   java . awt . graphics2d import ;   import  java.awt.Image;   import  java.awt.geom.AffineTransform;   import  java.awt.image.AffineTransformOp;   import  java.awt.image.BufferedImage;   import  java.io.File;      import  javax.imageio.ImageIO;/* *   ,*图像处理类。   *大敌;   ,* @author  nagsh   *大敌;   ,*/public  class  ImageDeal  {      String 才能;openUrl,//,原始图片打开路径   String 才能;saveUrl,//,新图保存路径   String 才能;saveName,//,新图名称   String 才能;后缀,//,新图类型,只支持gif、jpg, png      public 才能;ImageDeal (String  openUrl, String  saveUrl,, String  saveName,   ,,,,,String 后缀),{   ,,,this.openUrl =, openUrl;   ,,,this.saveName =, saveName;   ,,,this.saveUrl =, saveUrl;   ,,,this.suffix =,后缀;   ,,}      ,/* *   ,,*,图片缩放。   ,,*,   ,,*,@param 宽度   *,,,,,,,,需要的宽度   ,,*,@param 高度   *,,,,,,,,需要的高度   ,,*,@throws 例外   ,,*/public 才能;void 变焦(int 宽度,int 高度),throws  Exception  {   ,,,double  sx =, 0.0;   ,,,double  sy =, 0.0;      ,,,File  File =, new 文件(openUrl);   ,,,if  (! file.isFile ()), {   ,,,,,throw  new 例外(“,“ImageDeal>的在,,+,file  +,“,不是一个图片文件!“);   ,,,}   ,,,BufferedImage  bi =, ImageIO.read(文件),,//,读取该图片   ,,,//,计算x轴y轴缩放比例——如需等比例缩放,在调用之前确保参数宽度和高度是等比例变化的   ,,,sx =,(双),width /, bi.getWidth ();   ,,,sy =,(双),height /, bi.getHeight ();      ,,,AffineTransformOp  op =, new  AffineTransformOp (   ,,,,,,,AffineTransform.getScaleInstance (sx,沈阳),零);   ,,,File  sf =, new 文件(saveUrl, saveName  +,“干净,+,后缀);   ,,,Image  zoomImage =, op.filter (bi, null);   ,,,try  {   ,,,,,ImageIO.write ((BufferedImage), zoomImage,,后缀,,科幻小说),,//,保存图片   ,,,},catch  (Exception  e), {   ,,,,,e.printStackTrace ();   ,,,}      ,,}      ,/* *   ,,*,旋转   ,,*,   ,,*,@param 学位   *,,,,,,,,旋转角度   ,,*,@throws 例外   ,,*/public 才能;void 旋转(int 学位),throws  Exception  {   ,,,int  swidth =, 0;,//,旋转后的宽度   ,,,int  sheight =, 0;,//,旋转后的高度   ,,,int  x,,//,原点横坐标   ,,,int , y,,//,原点纵坐标      ,,,File  File =, new 文件(openUrl);   ,,,if  (! file.isFile ()), {   ,,,,,throw  new 例外(“,“ImageDeal>的在,,+,file  +,“,不是一个图片文件!“);   ,,,}   ,,,BufferedImage  bi =, ImageIO.read(文件),,//,读取该图片   ,,,//,处理角度——确定旋转弧度   ,,,degree =, degree  %, 360;   ,,,if  (degree  & lt;, 0)   ,,,,,degree =, 360, +,学位;//,将角度转换到0 - 360度之间   ,,,double  theta =, Math.toRadians(程度);//,将角度转为弧度      ,,,//,确定旋转后的宽和高   ,,,if  (==degree  180年,| |,degree ==, 0, | |, degree ==, 360), {   ,,,,,swidth =, bi.getWidth ();   ,,,,,sheight =, bi.getHeight ();   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

利用java如何实现一个图片缩放效果