تسجل هذه المدونة تنفيذ رمز التحقق من الصورة في المشروع. على الرغم من أنها ليست معقدة للغاية ، إلا أن الذاكرة الجيدة ليست جيدة مثل القلم السيئ. تذكر ذلك!
حزمة com.zl.util ؛ استيراد java.awt.color ؛ استيراد java.awt.font ؛ استيراد java.awt.graphics ؛ استيراد java.awt.image.bufferedImage ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.ioException ؛ استيراد java.io.outputStream ؛ استيراد java.util.random ؛ استيراد javax.imageio.imageio ؛ / ** * Author zzc * date 6 نوفمبر 2017 * param * desced code code code generation * */ public class VerifyUtil {// code code chare char char char [] private chars = {'0' ، '1' ، '2' ، '3' ، '4' ، '5' ، '7' ، '8' ، '،' ، '،' ، '،' ، '،' ، '،' ، '،' ، '،' ، '،' ، '،' ، '،' ، "d '،' e '،' f '،' g '،' h '،' i '،' j '،' k '،' l '،' m '،' n '،' o '،' p '،' q '،' r '،' s '،' t '،" ، "،" ، "،" ، "،" ، "،" ، "،" "g '،' h '،' i '،' j '،' k '،' l '،' m '،' n '،' o '،' p '،' q '،' r '،' s '،' t '،' u '،' v '،' w '،' y '،' z '} ؛ // عدد الأحرف الخاصة ذات الحجم النهائي الثابتة = 4 ؛ // عدد خطوط التداخل الخطوط النهائية الثابتة الخاصة = 5 ؛ // عرض خاص نهائي ثابت ثابت = 80 ؛ // الارتفاع الأساسي الثابت النهائي في الارتفاع = 40 ؛ // size font private static int font_size = 30 ؛ /*** إنشاء رمز التحقق العشوائي والصور* كائن [0]: سلسلة رمز التحقق ؛ * كائن [1]: صورة رمز التحقق. */ كائن ثابت عام [] createImage () {StringBuffer SB = جديد StringBuffer () ؛ ] // 2. احصل على الرسومات الرسمية للفرشاة الصورة = Image.getGraphics () ؛ // 3. اضبط Graphics.setColor (color.light_gray) ؛ // 4. ارسم رسومات الخلفية المستطيل. // 5. رسم أحرف عشوائية RANDAY RAN = New Random () ؛ لـ (int i = 0 ؛ i <size ؛ i ++) {// خذ مؤشر الأحرف العشوائية int n = run.nextint (chars.length) ؛ // اضبط اللون العشوائي Graphic.setColor (getRandomColor ()) ؛ // اضبط حجم الخط Graphic.setFont (خط جديد (null ، font.bold + font.italic ، font_size)) ؛ // رسم حرف Graphic.DrawString (chars [n] + "" ، i * width/ size ، الارتفاع * 2/3) ؛ // سجلات تسجيل sb.append (chars [n]) ؛ } // 6. ارسم خط التداخل لـ (int i = 0 ؛ i <lines ؛ i ++) {// set random color graphic.setColor (getRandomColor ()) ؛ // Random Color Graphic.Drawline (Ran.NextInt (العرض) ، ran.nextint (الارتفاع) ، RAN.NEXTINT (العرض) ، RAN.NEXTINT (الارتفاع)) ؛ } // 7. إرجاع رمز التحقق والصورة إرجاع كائن جديد [] {sb.toString () ، Image} ؛ } / *** اللون العشوائي* / اللون الثابت العام getRandomColor () {Random Run = new Random () ؛ لون اللون = لون جديد (RAN.NEXTINT (256) ، RAN.NEXTINT (256) ، RAN.NEXTINT (256)) ؛ لون العودة } static void main (string [] args) يلقي ioException {object [] objs = createImage () ؛ صورة bufferedImage = (BufferEdImage) objs [1] ؛ OutputStream OS = جديد fileOutputStream ("d: /1.png") ؛ imageio.write (صورة ، "png" ، OS) ؛ OS.Close () ؛ }} طبقة وحدة التحكم
/** * Author zzc * date 6 نوفمبر 2017 * param * desced طريقة توليد رمز التحقق من الرسومات * *// @requestmapping ("/valicode) OBJs = VerifyUtil.CreateImage () ؛ // قم بتخزين رمز التحقق في جلسة الجلسة. // إخراج الصورة إلى صورة BufferedImage للمتصفح = (BufferedImage) OBJs [1] ؛ استجابة. OutputStream OS = response.getOutputStream () ؛ imageio.write (صورة ، "png" ، OS) ؛ }نتائج التشغيل:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.