Python 官方文档:入门教程 => 点击学习
本文实例为大家分享了java实现图片分割指定大小的具体代码,供大家参考,具体内容如下 1.使用工具:Thumbnails Thumbnails 是由谷歌提供的图片处理包,目前版本0.
本文实例为大家分享了java实现图片分割指定大小的具体代码,供大家参考,具体内容如下
1.使用工具:Thumbnails
Thumbnails 是由谷歌提供的图片处理包,目前版本0.4.8。
可以简洁的实现图片的缩放、压缩、旋转、水印、格式转换等操作。
2.引入maven
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
//最新版本可自查
3.工具类
import org.springframework.WEB.multipart.MultipartFile;
import net.coobird.thumbnailator.Thumbnails;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ImgUtils {
public static byte[] uploadImg(Integer height,Integer width,MultipartFile file) throws Exception{
String fileSuffix=file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
BufferedImage bufferedImageBig = Thumbnails.of(file.getInputStream())
.forceSize(height, width).asBufferedImage();
//大图字节转换
ByteArrayOutputStream outBig = new ByteArrayOutputStream();
try {
ImageIO.write(bufferedImageBig, fileSuffix, outBig);
} catch (IOException e) {
e.printStackTrace();
}
return outBig.toByteArray();
}
}
4.切割图片返回字节数组
@RequestMapping(value = "imageupload")
public void imageUpload(MultipartFile file) throws IllegalStateException, IOException {
//文件名称
String realFileName = file.getOriginalFilename();
//文件后缀
String suffix = realFileName.substring(realFileName.lastIndexOf(".") + 1);
try {
//大图图片切割 --宽高 720 - 720
byte[] bytesBig = ImgUtils.uploadImg(720, 720, file);
//中图图片切割 --宽高 200 - 200
byte[] bytesMiddle = ImgUtils.uploadImg(200, 200, file);
//小图图片切割 --宽高 50- 50
byte[] byteSSMall = ImgUtils.uploadImg(50, 50, file);
} catch (Exception e) {
System.out.println("错误");
}
}
小编再为大家补充一段相关代码:java图片切割圆形
@Test
public void test() {
try {
// 读取图片
BufferedImage bi1 = ImageIO.read(new File("g:/free-sheet-share.jpg"));
BufferedImage bi2 = new BufferedImage(bi1.getWidth(), bi1.getHeight(),
BufferedImage.TYPE_INT_RGB);
Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, bi1.getWidth(), bi1
.getHeight());
Graphics2D g2 = bi2.createGraphics();
g2.setBackground(Color.WHITE);
g2.fill(new Rectangle(bi2.getWidth(), bi2.getHeight()));
g2.setClip(shape);
//设置抗锯齿
g2.drawImage(bi1, 0, 0, null);
g2.dispose();
ImageIO.write(bi2, "jpg", new File("e:/2.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
--结束END--
本文标题: java实现图片分割指定大小
本文链接: https://lsjlt.com/news/134328.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0