Revert "注册登录,用户等级,社交,动态,新手任务"
This reverts commit 1c359108ca33d46271920ee0cd57dddcb7012937.
Reason for revert: <冲突>
Change-Id: Ie586267169acac99130b1fadf4a5f433441c4b8c
diff --git a/src/main/java/com/example/myproject/utils/VerifyCode.java b/src/main/java/com/example/myproject/utils/VerifyCode.java
new file mode 100644
index 0000000..689b8ce
--- /dev/null
+++ b/src/main/java/com/example/myproject/utils/VerifyCode.java
@@ -0,0 +1,156 @@
+package com.example.myproject.utils;
+
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+/*
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Random;
+
+/**
+ * @author 阿楠
+ * code生成工具类
+ */
+public class VerifyCode {
+ /**
+ * 生成验证码图片的宽度
+ */
+ private int width = 100;
+
+ /**
+ * 生成验证码图片的高度
+ */
+ private int height = 30;
+
+ /**
+ * 字符样式
+ */
+ private String[] fontNames = { "宋体", "楷体", "隶书", "微软雅黑" };
+
+ /**
+ * 定义验证码图片的背景颜色为白色
+ */
+ private Color bgColor = new Color(255, 255, 255);
+
+ /**
+ * 生成随机
+ */
+ private Random random = new Random();
+
+ /**
+ * 定义code字符
+ */
+ private String codes = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+ /**
+ * 记录随机字符串
+ */
+ private String text;
+
+ /**
+ * 获取一个随意颜色
+ * @return
+ */
+ private Color randomColor() {
+ int red = random.nextInt(150);
+ int green = random.nextInt(150);
+ int blue = random.nextInt(150);
+ return new Color(red, green, blue);
+ }
+
+ /**
+ * 获取一个随机字体
+ *
+ * @return
+ */
+ private Font randomFont() {
+ String name = fontNames[random.nextInt(fontNames.length)];
+ int style = random.nextInt(4);
+ int size = random.nextInt(5) + 24;
+ return new Font(name, style, size);
+ }
+
+ /**
+ * 获取一个随机字符
+ *
+ * @return
+ */
+ private char randomChar() {
+ return codes.charAt(random.nextInt(codes.length()));
+ }
+
+ /**
+ * 创建一个空白的BufferedImage对象
+ *
+ * @return
+ */
+ private BufferedImage createImage() {
+ BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ //设置验证码图片的背景颜色
+ g2.setColor(bgColor);
+ g2.fillRect(0, 0, width, height);
+ return image;
+ }
+
+ public BufferedImage getImage() {
+ BufferedImage image = createImage();
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < 4; i++) {
+ String s = randomChar() + "";
+ sb.append(s);
+ g2.setColor(randomColor());
+ g2.setFont(randomFont());
+ float x = i * width * 1.0f / 4;
+ g2.drawString(s, x, height - 8);
+ }
+ this.text = sb.toString();
+ drawLine(image);
+ return image;
+ }
+
+ /**
+ * 绘制干扰线
+ *
+ * @param image
+ */
+ private void drawLine(BufferedImage image) {
+ Graphics2D g2 = (Graphics2D) image.getGraphics();
+ int num = 5;
+ for (int i = 0; i < num; i++) {
+ int x1 = random.nextInt(width);
+ int y1 = random.nextInt(height);
+ int x2 = random.nextInt(width);
+ int y2 = random.nextInt(height);
+ g2.setColor(randomColor());
+ g2.setStroke(new BasicStroke(1.5f));
+ g2.drawLine(x1, y1, x2, y2);
+ }
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public static void output(BufferedImage image, OutputStream out) throws IOException {
+ ImageIO.write(image, "JPEG", out);
+ }
+}