يقدم
يتم استخدام حزمة zxing من goole بشكل أساسي. ما يلي هو رمز عينة ، وهو مريح للغاية للجميع لفهمها والتعلم. ينتمي الرمز إلى الإطار الأولي وله وظائف ، ويجب تحسينه وتحسينه وفقًا للاستخدام الفعلي.
الخطوة 1: Maven Import zxing
<Rependency> <roupeD> com.google.zxing </rougiD> <StifactId> Core </shintifactid> <sprod>
الخطوة 2: ابدأ في إنشاء رمز الاستجابة السريعة:
Private Static Final Black = 0xFF000000 ؛ Private Static Final White = 0xffffffff ؛/*** احفظ رمز QR الذي تم إنشاؤه في فئة Picture* param matrix QR QR ضمن حزمة Zxing* @Return*/public static bufferedimage tobuffearedimage (bitmatrix matrix) ارتفاع int = matrix.getheight () ؛ صورة bufferedImage = جديد bufferedImage (العرض ، الارتفاع ، bufferedImage.type_int_rgb) ؛ لـ (int x = 0 ؛ x <width ؛ x ++) {for (int y = 0 ؛ y <height ؛ y ++) {image.setrgb (x ، y ، matrix.get (x ، y)؟ Black: White) ؛ }} إرجاع صورة ؛}/*** قم بإنشاء رمز QR واكتب إلى ملف* param محتوى مسح محتوى رمز QR* @param تنسيق صورة jpg* @pile file* therhrows استثناء*/public static void writeTofile (محتوى سلسلة ، سلسلة ، ملف الاستثناء suppressWarnings ("الأنواع الخام") خريطة تلميحات = new hashmap () ؛ // set UTF-8 لمنع التلميحات الصينية المشوهة (encodehinttype.character_set ، "UTF-8") ؛ // قم بتعيين حجم المنطقة البيضاء حول تلميحات رمز الاستجابة السريعة (EncodeHintType.margin ، 1) ؛ // قم بتعيين التسامح مع خطأ رمز الاستجابة السريعة. // ارسم رمز QR bitmatrix bitmatrix = multiformatwriter.encode (المحتوى ، barcodeformat.qr_code ، العرض ، الارتفاع ، التلميحات) ؛ صورة bufferedImage = tobufferedImage (bitmatrix) ؛ if (! imageio.write (صورة ، تنسيق ، ملف)) {رمي ioException جديد ("لا يمكن كتابة صورة للتنسيق" + format + "إلى" + file) ؛ }}الخطوة 3: اكتب النص في صورة رمز الاستجابة السريعة:
/*** إضافة نص إلى صورة رمز QR* param presstext text* param qrfile QR code file* param fontstyle* param color* param fontsize*/public static void pressText (string pressText ، file qrfile "UTF-8") ؛ صورة src = imageio.read (qrfile) ؛ int imagew = src.getWidth (null) ؛ int imageh = src.getheight (null) ؛ صورة bufferedImage = جديد bufferedImage (ImageW ، ImageH ، bufferedImage.type_int_rgb) ؛ الرسومات g = image.creategraphics () ؛ G.DrawImage (SRC ، 0 ، 0 ، ImageW ، ImageH ، Null) ؛ // اضبط لون الفرشاة G.SetColor (اللون) ؛ // اضبط font font font = new font ("安安" ، fontstyle ، fontsize) ؛ مقاييس fontmetrics = g.getFontMetrics (font) ؛ // يتم تعيين إحداثيات النص في الصورة في الوسط هنا int startx = (العرض - metrics.stringwidth (pressText)) /2 ؛ int starty = الارتفاع/2 ؛ G.SetFont (الخط) ؛ G.DrawString (PressText ، Startx ، Starty) ؛ G.Dispose () ؛ FileOutputStream Out = new FileOutputStream (qRfile) ؛ imageio.write (صورة ، "jpeg" ، خارج) ؛ out.close () ؛ System.out.println ("Image اضغط على نجاح") ؛}الخطوة 4: اختبار في الطريقة الرئيسية ، سيتم إنشاء رمز QR مع نص في الوسط
إلقاء الفراغ الثابت العام (سلسلة [] args) استثناء {file qrcfile = ملف جديد ("/المستخدمين/deweixu/" ، "google.jpg") ؛ WriteTofile ("www.google.com.hk" ، "jpg" ، qrcfile) ؛ PressText ("Google" ، QRCFile ، 5 ، Color.red ، 32) ؛}لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة لدراستك أو عملك. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل.