修复导出一人一档人脸
parent
e324518713
commit
426f2ac18f
5
pom.xml
5
pom.xml
|
|
@ -59,6 +59,11 @@
|
|||
<artifactId>poi-tl</artifactId>
|
||||
<version>1.12.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.coobird</groupId>
|
||||
<artifactId>thumbnailator</artifactId>
|
||||
<version>0.4.20</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.jjb.saas</groupId>
|
||||
<artifactId>jjb-saas-system-client</artifactId>
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import com.zcloud.edu.domain.model.archives.ClassArchivesE;
|
|||
import com.zcloud.edu.domain.model.archives.PersonArchivesE;
|
||||
import com.zcloud.edu.domain.model.study.*;
|
||||
import com.zcloud.edu.domain.utils.FixedPictureUtils;
|
||||
import com.zcloud.edu.domain.utils.ImageUtil;
|
||||
import com.zcloud.edu.dto.archives.ArchivesPdfFilePageQry;
|
||||
import com.zcloud.edu.dto.archives.ArchivesQry;
|
||||
import com.zcloud.edu.dto.clientobject.archives.ArchivesPdfFileCO;
|
||||
|
|
@ -912,19 +913,22 @@ public class ArchivesQueryExe {
|
|||
Map<String, Object> itemMap = PropertyUtils.describe(item);
|
||||
if(!ObjectUtils.isEmpty(item.getSignFaceUrl())){
|
||||
// PictureRenderData signPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
||||
PictureRenderData signPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
||||
// PictureRenderData signPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
||||
PictureRenderData signPicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getSignFaceUrl(), 50, 50);
|
||||
|
||||
itemMap.put("signPicture", signPicture);
|
||||
}
|
||||
if(!ObjectUtils.isEmpty(item.getExamFaceUrl())){
|
||||
// PictureRenderData examPicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), PictureType.JPEG).size(50, 50).create();//网络图片地址
|
||||
PictureRenderData examPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
||||
// PictureRenderData examPicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
||||
PictureRenderData examPicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getExamFaceUrl(), 50, 50);
|
||||
|
||||
itemMap.put("examPicture", examPicture);
|
||||
}
|
||||
if(!ObjectUtils.isEmpty(item.getUserAvatarUrl())){
|
||||
// PictureRenderData facePicture = Pictures.ofUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), PictureType.JPEG).size(50, 50).style("rotation:90;").create();//网络图片地址
|
||||
PictureRenderData facePicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
||||
// PictureRenderData facePicture = FixedPictureUtils.ofNormalUrl(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
||||
PictureRenderData facePicture = ImageUtil.createWithThumbnailator(fileUrlConfig.getPrefixUrl() + item.getUserAvatarUrl(), 50, 50);
|
||||
|
||||
itemMap.put("facePicture", facePicture);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
package com.zcloud.edu.domain.utils;
|
||||
|
||||
import com.deepoove.poi.data.PictureRenderData;
|
||||
import com.deepoove.poi.data.PictureType;
|
||||
import com.deepoove.poi.data.Pictures;
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.net.URL;
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
import net.coobird.thumbnailator.geometry.Positions;
|
||||
public class ImageUtil {
|
||||
public static PictureRenderData createWithThumbnailator(String imageUrl, int width, int height) {
|
||||
try {
|
||||
// 下载原图
|
||||
URL url = new URL(imageUrl);
|
||||
BufferedImage original = ImageIO.read(url);
|
||||
|
||||
// 使用Thumbnailator处理 - 一行代码搞定旋转和缩放
|
||||
BufferedImage processed = Thumbnails.of(original)
|
||||
.size(width, height)
|
||||
.rotate(180) // 如果需要固定旋转,可以直接指定
|
||||
.asBufferedImage();
|
||||
|
||||
// 或者使用EXIF自动旋转(如果Thumbnailator版本支持)
|
||||
// Thumbnails.of(original).scale(1.0).useExifOrientation().asBufferedImage();
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
ImageIO.write(processed, "jpg", baos);
|
||||
|
||||
return Pictures.ofBytes(baos.toByteArray(), PictureType.JPEG)
|
||||
.size(width, height)
|
||||
.create();
|
||||
|
||||
} catch (Exception e) {
|
||||
return Pictures.ofUrl(imageUrl, PictureType.JPEG)
|
||||
.size(width, height)
|
||||
.create();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue