licailing 4 роки тому
батько
коміт
aefb2c3866

BIN
src/main/resources/static/certificate.png


+ 34 - 18
src/test/java/com/izouma/wenlvju/service/performance/ParticipantServiceTest.java

@@ -24,8 +24,8 @@ public class ParticipantServiceTest extends ApplicationTests {
 
     @Test
     public void test() throws IOException {
-        BufferedImage shareImg = ImageIO.read(this.getClass().getResourceAsStream("/static/certificate.jpeg"));
-        BufferedImage result = new BufferedImage(1100, 778, BufferedImage.TYPE_INT_RGB);
+        BufferedImage shareImg = ImageIO.read(this.getClass().getResourceAsStream("/static/certificate.png"));
+        BufferedImage result = new BufferedImage(2480, 1748, BufferedImage.TYPE_INT_RGB);
         Graphics2D g = result.createGraphics();
         g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
@@ -33,13 +33,15 @@ public class ParticipantServiceTest extends ApplicationTests {
         g.setComposite(AlphaComposite.SrcOver);
         g.drawImage(shareImg, 0, 0, null);
 
-        // 头像
-        BufferedImage avatar = ImageIO.read(new URL("http://yskj.njlyw.cn:8081/files/image/2021-11-04-12-36-43bJEcdPkI.jpg"));
+        // 二维码
+//        BufferedImage avatar = ImageIO.read(new URL("http://yskj.njlyw.cn:8081/files/image/2021-11-04-12-36-43bJEcdPkI.jpg"));
+        BufferedImage avatar = ImageIO.read(new File("/Users/qiufangchao/Desktop/17824.png"));
+
 //        int size = Math.min(avatar.getWidth(), avatar.getHeight());
 //        BufferedImage subImg = avatar
 //                .getSubimage((avatar.getWidth() - size) / 2, (avatar.getHeight() - size) / 2, size, size);
 
-        BufferedImage avatarImg = new BufferedImage(68 * 2, 80 * 2, BufferedImage.TYPE_INT_ARGB);
+        BufferedImage avatarImg = new BufferedImage(120 * 2, 120 * 2, BufferedImage.TYPE_INT_ARGB);
         Graphics2D g2 = avatarImg.createGraphics();
         g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
@@ -48,25 +50,39 @@ public class ParticipantServiceTest extends ApplicationTests {
         g2.setBackground(Color.GREEN);
 //        g2.setClip(new Ellipse2D.Float(0, 0, 68 * 2, 76 * 2)); //椭圆
 
-        g2.drawImage(avatar, 0, 0, 68 * 2, 160, null);
-
-        g.drawImage(avatarImg, 420 * 2, 50 * 2, 68 * 2, 160, null);
+        g2.drawImage(avatar, 0, 0, 120 * 2, 120 * 2, null);
+        g.drawImage(avatarImg, 1898, 253, 120 * 2, 120 * 2, null);
 
 
         // 文字
-        g.setColor(new Color(0, 0, 0)); //根据图片的背景设置水印颜色
-        Font font = new Font("黑体", Font.PLAIN, 30);
-        String content = "张妍:";
+        g.setColor(new Color(48, 52, 82)); //根据图片的背景设置水印颜色
+        // 编号
+        String small = "17824";
+        Font fontSmall = new Font("黑体", Font.PLAIN, 35);
+        g.setFont(fontSmall);
+        g.drawString(small, 2000, 544);
+
+        // 姓名
+        Font font = new Font("黑体", Font.BOLD, 60);
+        String content = "朱姝宁";
         // 加水印
         g.setFont(font);              //设置字体
         //设置水印的坐标
-        g.drawString(content, 160, 330);  //画出水印
+        g.drawString(content, 400, 600);  //画出水印
+
+        // 节目名称
+        String content1 = "瑶乡谣";
+        if (content1.length() > 8) {
+            String body1 = "多声部手风琴原创作品《最";
+            String body2 = "美的风景》";
+            Font title = new Font("黑体", Font.PLAIN, 40);
+            g.setFont(title);
+            g.drawString(body1, 1200, 795);
+            g.drawString(body2, 1200, 835);
+        } else {
+            g.drawString(content1, 1220, 825);
+        }
 
-        String content1 = "在2021“宁艺之星”社会艺术水平考级展演(览)中,表现优";
-        //设置水印的坐标
-        g.drawString(content1, 215, 390);
-        String content2 = "秀,被评为“一等奖”,特发此证,以资鼓励。";
-        g.drawString(content2, 160, 450);
 
         g.dispose();
         ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
@@ -77,7 +93,7 @@ public class ParticipantServiceTest extends ApplicationTests {
                 .toOutputStream(out);
         ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
 
-        File file = new File("/Users/qiufangchao/Desktop/2.jpg");
+        File file = new File("/Users/qiufangchao/Desktop/朱姝宁.jpg");
         byte[] buffer = new byte[in.available()];
         in.read(buffer);
         OutputStream outStream = new FileOutputStream(file);