|
|
@@ -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);
|