Java将图片压缩为原来的一半
来源:互联网 发布:ubuntu sudo password 编辑:程序博客网 时间:2024/04/28 06:46
Java将图片压缩为原来的一半
思路:
1.获取源图片的尺寸
2.设置目标图片的尺寸
3.打开源图片
4.基于源图片生成目标图片
ps: 在linux上无法使用JPEGImageEncoder ,因此需要修改代码,使用ImageIO代替JPEGImageEncoder
/*JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
sLogger.info("create encoder done");
encoder.encode(outImage);
sLogger.info("encoder done");*/
ImageIO.write(outImage, "jpg", out);
out.flush();
out.close();
* 压缩为input的1/2
* @param filesrc
* @param outsrc
*/
public static void composePic(String inFileName, String outFileName) {
try {
File inFile = new File(inFileName);
Image inImage = javax.imageio.ImageIO.read(inFile);
//get the input image's width and height
int input_width = inImage.getWidth(null);
int input_height = inImage.getHeight(null);
System.out.println("input_width = " + input_width);
System.out.println("input_height = " + input_height);
//set the output image's width and height
int out_width = input_width/2;
int out_height = input_height/2;
BufferedImage outImage = new BufferedImage(out_width, out_height,
BufferedImage.TYPE_INT_RGB);//an image with 8-bit RGB color
Graphics2D g2d = outImage.createGraphics();
g2d.drawImage(inImage, 0, 0, out_width, out_height, null);
g2d.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_ATOP, 1.0f)); // 透明度设置开始
g2d.setComposite(AlphaComposite
.getInstance(AlphaComposite.SRC_OVER)); // 透明度设置 结束
FileOutputStream out = new FileOutputStream(outFileName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(outImage);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
0 0
- Java将图片压缩为原来的一半
- 将手机的屏幕改为原来屏幕的一半
- apk包图片压缩工具tinypng将包压缩到一半
- 将图片 按比例 压缩为JPG
- 将压缩包转换为图片
- 将压缩包隐藏为图片
- Android端将图片压缩为Base64
- bitmap 将图片压缩到指定的大小 JAVA
- bitmap 将图片压缩到指定的大小 JAVA
- linux 下使用opencv对图像进行缩小为原来的一半大
- Java 将文件压缩为GZIP格式
- JAVA 将文件压缩为zip文件
- Java将图片压缩至指定大小
- 如何将bitmap 压缩/转换为jpg/png格式的图片存贮
- java压缩图片,存为本地文件
- 压缩 将字符转成16进制 并压缩一半
- JAVA将任意图片文件压缩成想要的图片类型与大小
- 将图片打成压缩包,并转换为byte[]
- 网页中的操作技巧
- jsp里面的页面切换
- ActiveMQ基于zookeeper+leveldb主从配置
- 安装版tomcat7内存配置
- eclipse 连接手机时提示问号或offline
- Java将图片压缩为原来的一半
- JS判断变量是否以某个字符串结尾
- Mysql重置root用户密码(windows)
- ByteArrayInputStream的作用,和BufferedOutputStream 的区别
- VirtualBox 创建的 Mac OS X 虚拟机换主机后不能启动问题
- C语言结构类型
- XLink
- [CSS3] 多列布局 column
- MySQL各个版本的区别