Kaynağa Gözat

美术阅卷服务端更新20180918:
1.接受从采集端传递过来的是否是手动绑定的标识;
2.图片压缩预备另一种方式实现

nikang 6 yıl önce
ebeveyn
işleme
4a11880276

+ 1 - 0
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/service/DataUploadService.java

@@ -204,6 +204,7 @@ public class DataUploadService {
             paper = new Paper(student.getWorkId(), null, subject, examQuestion, student, isManual);
         }
         paper.setUploadedOn(new Date());
+        paper.setManual(isManual);
         paperRepo.save(paper);
         synchronized (this) {
             String uploadStatus = student.getUploadStatus();

+ 2 - 0
stmms-ms-collect/src/main/java/cn/com/qmth/stmms/ms/collect/api/CollectApi.java

@@ -145,6 +145,8 @@ public class CollectApi {
         String thumbFileName = thumbDir + File.separator + student.getExamNumber() + ".jpg";
         ImageIO.write(bufferedImage, "jpg", new File(thumbFileName));
 
+//        ImageCompression.imageThumbnail(outFile,new File(thumbFileName),compressionConfig);
+
 
     }
 

+ 21 - 1
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/utils/image/ImageCompression.java

@@ -32,7 +32,7 @@ public class ImageCompression {
         int sizeHeight = config.getMinHeight();
 
         if (config.getPercent() != null && config.getPercent() > 0 && config.getPercent() <= 100) {
-            float percent = config.getPercent() / 100;
+            float percent = (float)config.getPercent() / 100;
             sizeWidth = (int) (sizeWidth * percent);
             sizeHeight = (int) (sizeHeight * percent);
             if (sizeWidth < config.getMinWith()) {
@@ -53,6 +53,7 @@ public class ImageCompression {
         }
         return Thumbnails.of(image)
                 .size(width, height)
+                .outputQuality(1f)
                 .outputFormat("jpg")
                 .asBufferedImage();
     }
@@ -61,4 +62,23 @@ public class ImageCompression {
         BufferedImage image = ImageIO.read(in);
         Thumbnails.of(image).size(image.getWidth(), image.getHeight()).rotate(degree).toFile(out);
     }
+
+    public static void imageThumbnail(File in,File out,ImageCompressionConfig config) throws IOException{
+        if(config == null){
+            Thumbnails.of(in).scale(1f).outputQuality(1f).outputFormat("jpg").toFile(out);
+            return;
+        }
+        BufferedImage image = ImageIO.read(in);
+        int originWidth = image.getWidth();
+        int originHeight = image.getHeight();
+        int sizeWidth = config.getMinWith();
+        int sizeHeight = config.getMinHeight();
+        int width = sizeWidth;
+        int height = sizeHeight;
+        if (originWidth < originHeight) {
+            width = sizeHeight;
+            height = sizeWidth;
+        }
+        Thumbnails.of(in).size(width,height).outputQuality(1f).outputFormat("jpg").toFile(out);
+    }
 }