java中对图片进行压缩以及放大。
2013-02-20 20:12
447 查看
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import javax.imageio.ImageIO;
public class ImageUtils
{
/**
* 对图片进行放大
*
* @param originalImage 原始图片
* @param times 放大倍数
* @return
*/
public static BufferedImage zoomInImage(BufferedImage originalImage, Integer times)
{
int width = originalImage.getWidth() * times;
int height = originalImage.getHeight() * times;
BufferedImage newImage = new BufferedImage(width, height, originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
return newImage;
}
/**
* 对图片进行放大
*
* @param srcPath 原始图片路径(绝对路径)
* @param newPath 放大后图片路径(绝对路径)
* @param times 放大倍数
* @param format 图片格式
* @return 是否放大成功
*/
public static boolean zoomInImage(String srcPath, String newPath, Integer times, String format)
{
BufferedImage bufferedImage = null;
try
{
File of = new File(srcPath);
if (of.canRead())
{
bufferedImage = ImageIO.read(of);
}
} catch (IOException e)
{
// TODO: 打印日志
return false;
}
if (bufferedImage != null)
{
bufferedImage = zoomInImage(bufferedImage, times);
try
{
// TODO: 这个保存路径需要配置下子好一点
ImageIO.write(bufferedImage, format, new File(newPath)); // 保存修改后的图像
} catch (IOException e)
{
// TODO 打印错误信息
return false;
}
}
return true;
}
/**
* 对图片进行缩小
*
* @param originalImage 原始图片
* @param times 缩小倍数
* @return 缩小后的Image
*/
public static BufferedImage zoomOutImage(BufferedImage originalImage, int timeshieght)
{
int width = originalImage.getWidth() / timeshieght;
int height = originalImage.getHeight() / timeshieght;
BufferedImage newImage = new BufferedImage(width, height, originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
return newImage;
}
/**
* 对图片进行缩小
*
* @param srcPath 源图片路径(绝对路径)
* @param newPath 新图片路径(绝对路径)
* @param times 缩小倍数
* @param format 图片格式
* @return 保存是否成功
*/
public static boolean zoomOutImage(String srcPath, String newPath, int timeshieght,
String format)
{
BufferedImage bufferedImage = null;
try
{
File of = new File(srcPath);
if (of.canRead())
{
bufferedImage = ImageIO.read(of);
}
} catch (IOException e)
{
// TODO: 打印日志
return false;
}
if (bufferedImage != null)
{
bufferedImage = zoomOutImage(bufferedImage, timeshieght);
try
{
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import javax.imageio.ImageIO;
public class ImageUtils
{
/**
* 对图片进行放大
*
* @param originalImage 原始图片
* @param times 放大倍数
* @return
*/
public static BufferedImage zoomInImage(BufferedImage originalImage, Integer times)
{
int width = originalImage.getWidth() * times;
int height = originalImage.getHeight() * times;
BufferedImage newImage = new BufferedImage(width, height, originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
return newImage;
}
/**
* 对图片进行放大
*
* @param srcPath 原始图片路径(绝对路径)
* @param newPath 放大后图片路径(绝对路径)
* @param times 放大倍数
* @param format 图片格式
* @return 是否放大成功
*/
public static boolean zoomInImage(String srcPath, String newPath, Integer times, String format)
{
BufferedImage bufferedImage = null;
try
{
File of = new File(srcPath);
if (of.canRead())
{
bufferedImage = ImageIO.read(of);
}
} catch (IOException e)
{
// TODO: 打印日志
return false;
}
if (bufferedImage != null)
{
bufferedImage = zoomInImage(bufferedImage, times);
try
{
// TODO: 这个保存路径需要配置下子好一点
ImageIO.write(bufferedImage, format, new File(newPath)); // 保存修改后的图像
} catch (IOException e)
{
// TODO 打印错误信息
return false;
}
}
return true;
}
/**
* 对图片进行缩小
*
* @param originalImage 原始图片
* @param times 缩小倍数
* @return 缩小后的Image
*/
public static BufferedImage zoomOutImage(BufferedImage originalImage, int timeshieght)
{
int width = originalImage.getWidth() / timeshieght;
int height = originalImage.getHeight() / timeshieght;
BufferedImage newImage = new BufferedImage(width, height, originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
return newImage;
}
/**
* 对图片进行缩小
*
* @param srcPath 源图片路径(绝对路径)
* @param newPath 新图片路径(绝对路径)
* @param times 缩小倍数
* @param format 图片格式
* @return 保存是否成功
*/
public static boolean zoomOutImage(String srcPath, String newPath, int timeshieght,
String format)
{
BufferedImage bufferedImage = null;
try
{
File of = new File(srcPath);
if (of.canRead())
{
bufferedImage = ImageIO.read(of);
}
} catch (IOException e)
{
// TODO: 打印日志
return false;
}
if (bufferedImage != null)
{
bufferedImage = zoomOutImage(bufferedImage, timeshieght);
try
{
相关文章推荐
- java对图片进行“高保真”压缩
- java进行图片合成以及写入自定义字体
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 如何用Java对图片jpg, gif进行压缩
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- java对图片进行压缩和resize
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 对上传图片进行处理,大图片压缩补白,小图片适度放大四周补白
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- .net里对图片文件进行质量压缩以及即时预览
- java对图片进行压缩和resize缩放的方法
- JAVA使用thumbnailator对base64图片进行压缩
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- JS对图片进行base64压缩以及图片的EXIF-Orientation信息
- 在java中使用内部类进行图片压缩的时候,怎么老是报内存错误,请大侠帮忙
- 详解Java中使用ImageIO类对图片进行压缩的方法
- java 上传图片的压缩与放大
- 想对jpeg格式图像进行压缩(不是缩略图),压缩后还是jpeg格式,在java中如何实现
- 使用Java生成jpg与压缩图片为jpg文件的代码示例
- Java && 和 &,以及 || 和 | 的区别(&和|也能进行逻辑运算)