java使用Poi-tl,如何让图片保持比例不变
时间: 2023-07-20 16:24:57 浏览: 366
在使用Poi-tl插入图片时,可以通过设置图片的宽高比来保持图片的比例不变,具体操作如下:
1. 获取图片的原始宽高比
```java
InputStream inputStream = new FileInputStream("image.jpg");
BufferedImage bufferedImage = ImageIO.read(inputStream);
double originWidth = bufferedImage.getWidth();
double originHeight = bufferedImage.getHeight();
double ratio = originWidth / originHeight;
```
2. 根据比例计算图片的宽高
```java
int maxWidth = 400; // 最大宽度
int maxHeight = 600; // 最大高度
int width, height;
if (originWidth > maxWidth) {
width = maxWidth;
height = (int) (width / ratio);
} else if (originHeight > maxHeight) {
height = maxHeight;
width = (int) (height * ratio);
} else {
width = (int) originWidth;
height = (int) originHeight;
}
```
3. 插入图片并设置宽高
```java
XWPFPicture picture = paragraph.createRun().addPicture(inputStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg", Units.toEMU(width), Units.toEMU(height));
```
通过这种方式,即可保持插入的图片比例不变。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)