```html การเปิดเผยอย่างเต็มที่: เราคือทีมพัฒนาสัมพันธ์ของ Iron Software บริษัทผู้สร้าง IronQR ซึ่งเป็นหนึ่งในไลบรารีในการเปรียบเทียบนี้ ถึงกระนั้น เราเชื่อว่าการประเมินอย่างตรงไปตรงมานั้นดีกว่าการโฆษณาสินค้า เราจะแสดงวิธีการของเรา ยอมรับอคติของเรา และปล่อยให้โค้ดเป็นตัวตัดสิน เราได้ทดสอบไลบรารี C# QR code แต่ละรายการภายใต้เกณฑ์การประเมินที่เหมือนกัน: การสร้าง QR code อย่างง่าย, การอ่าน QR code จากรูปภาพ, ความลึกของการปรับแต่ง, การรองรับข้ามแพลตฟอร์ม และค่าลิขสิทธิ์ นี่คือผลลัพธ์ การเปรียบเทียบไลบรารี QR code ที่น่าสนใจ 11 รายการในระบบนิเวศ .NET ซึ่งออกแบบมาเพื่อช่วยให้คุณเลือกสิ่งที่ถูกต้องสำหรับโปรเจกต์ของคุณตั้งแต่ครั้งแรก นี่คือตัวอย่างการสร้าง QR code ด้วย ใน Visual Studio ซึ่งเป็นหนึ่งในไลบรารีที่เราจะกล่าวถึง: IronQR using IronQr; using IronSoftware.Drawing; QrCode qr = QrWriter.Write("https://example.com"); AnyBitmap bitmap = qr.Save(); bitmap.SaveAs("myqr.png"); ตัวอย่างผลลัพธ์ QR Code จาก IronQR ความเรียบง่ายนั้นเป็นพื้นฐาน คำถามที่แท้จริงคือจะเกิดอะไรขึ้นเมื่อคุณต้องการ QR code ที่เสียหายจากเครื่องสแกนในคลังสินค้า ฝังโลโก้แบรนด์ กำหนดเป้าหมายไปยังคอนเทนเนอร์ Linux หรือประมวลผลโค้ดหลายพันรายการในงานแบตช์ ที่นี่คือที่ที่ไลบรารีต่างๆ แตกต่างกัน และที่การเปรียบเทียบนี้มีค่า อ่าน TL;DR: ตารางเปรียบเทียบหลัก ก่อนที่เราจะเจาะลึก นี่คือภาพรวมทั้งหมด ตารางนี้รวบรวมมิติที่สำคัญที่สุดเมื่อเลือกไลบรารี QR สำหรับโปรเจกต์ .NET ไลบรารี สร้าง อ่าน โลโก้/การจัดแต่ง Micro QR ข้ามแพลตฟอร์ม ลิขสิทธิ์ ดาวน์โหลด NuGet IronQR ✅ ✅ ขับเคลื่อนด้วย ML ✅ เต็มรูปแบบ ✅ + RMQR ✅ Win/Mac/Linux/Mobile เชิงพาณิชย์ (749$+) ~56K QRCoder ✅ ❌ ✅ ปานกลาง ✅ ⚠️ บางส่วน (System.Drawing) MIT (ฟรี) ~68M ZXing.Net ✅ ✅ ❌ น้อยมาก ❌ ⚠️ ผ่านการเชื่อมโยง Apache 2.0 (ฟรี) ~32M Net.Codecrete.QrCodeGenerator ✅ ❌ ❌ ❌ ✅ MIT (ฟรี) ~4.1M SkiaSharp.QrCode ✅ ❌ ✅ รูปร่างที่กำหนดเอง ❌ ✅ MIT (ฟรี) ~1.2M Aspose.BarCode ✅ ✅ ✅ ✅ ✅ เชิงพาณิชย์ (999$+) ~5.4M Syncfusion Barcode ✅ ❌ ✅ ปานกลาง ❌ ✅ (การควบคุม UI) เชิงพาณิชย์ (ชุมชนฟรี) ~2M+ Spire.Barcode ✅ ✅ ✅ ฝังโลโก้ ❌ ⚠️ (System.Drawing) เชิงพาณิชย์ (599$+) ~450K IronBarcode ✅ ✅ ✅ ✅ Micro QR ✅ Win/Mac/Linux เชิงพาณิชย์ (749$+) ~1.2M Dynamsoft Barcode Reader ❌ ✅ ประสิทธิภาพสูง N/A ✅ ✅ เชิงพาณิชย์ (1,249$+ ต่อปี) ~250K BarcodeLib ✅ ❌ ❌ ❌ ⚠️ (System.Drawing) Apache 2.0 (ฟรี) ~4.5M ตารางที่ 1: การเปรียบเทียบหลักของไลบรารี .NET QR code 11 รายการตามเกณฑ์การเลือกที่สำคัญ จำนวนดาวน์โหลดโดยประมาณ ณ ต้นปี 2026 ส่วนที่เหลือของบทความนี้จะเจาะลึกแต่ละแถว พร้อมโค้ด ข้อดีข้อเสีย และการประเมินอย่างตรงไปตรงมา เราประเมินไลบรารีเหล่านี้อย่างไร เราประเมินไลบรารีแต่ละรายการตามเกณฑ์ 7 ประการ โดยมีน้ำหนักตามความถี่ที่ทำให้เกิดการตัดสินใจเลือกในโลกแห่งความเป็นจริง: — สามารถสร้าง QR code จากสตริง URL และข้อมูลที่มีโครงสร้าง (vCards, ข้อมูลรับรอง Wi-Fi) ได้หรือไม่? การสร้าง QR Code — สามารถถอดรหัส QR code จากรูปภาพ การสแกน หรือ PDF ได้หรือไม่? จัดการกับโค้ดที่เสียหายหรือหมุนได้อย่างไร? การอ่าน QR Code — การฝังโลโก้ การควบคุมสี การจัดแต่งรูปร่างโมดูล การกำหนดค่าการแก้ไขข้อผิดพลาด การปรับแต่ง — QR มาตรฐาน, Micro QR, RMQR (Rectangular Micro QR) การรองรับรูปแบบ QR — ทำงานได้อย่างราบรื่นบน Windows, Linux, macOS และภายในคอนเทนเนอร์ Docker โดยไม่ต้องใช้ System.Drawing hacks หรือไม่? ข้ามแพลตฟอร์ม — โอเพนซอร์สเทียบกับเชิงพาณิชย์ ราคาต่อผู้พัฒนา ส่วนลดสำหรับชุดผลิตภัณฑ์ ลิขสิทธิ์และค่าใช้จ่าย — คุณภาพการอ้างอิง API ความพร้อมใช้งานของบทแนะนำ ขนาดชุมชน การบำรุงรักษาอย่างต่อเนื่อง เอกสารและระบบนิเวศ ตัวอย่างโค้ดทั้งหมดกำหนดเป้าหมายไปที่ และใช้ top-level statements หาก .NET 10 มีการปรับปรุงที่เกี่ยวข้อง เราจะระบุไว้ .NET 8 (LTS) คุณควรเลือกไลบรารี QR ใด? กรอบการตัดสินใจ ข้ามโปรไฟล์ไลบรารีทั้ง 11 รายการด้านล่างนี้ หากคุณทราบข้อจำกัดของคุณอยู่แล้ว นี่คือเส้นทางที่รวดเร็ว: → หรือ ทั้งคู่ได้รับอนุญาตภายใต้ MIT QRCoder มีเรนเดอเรอร์และตัวช่วยสร้างเพย์โหลดมากกว่า Net.Codecrete มีน้ำหนักเบากว่าและหลีกเลี่ยง System.Drawing โดยสิ้นเชิง "ฉันต้องการสร้าง QR code ฟรีโดยไม่มีการอ้างอิงใดๆ" QRCoder Net.Codecrete.QrCodeGenerator → (การอ่านที่ขับเคลื่อนด้วย ML, ความแม่นยำที่ดีที่สุดบนโค้ดที่เสียหาย), (ฟรี, ผ่านการทดสอบ, การรองรับรูปแบบที่กว้างขวางที่สุด) หรือ (ชุดผลิตภัณฑ์สำหรับองค์กร, ราคาแพง) "ฉันต้องการทั้งสร้างและอ่าน QR code" IronQR ZXing.Net Aspose.BarCode → , หรือ ทั้งสามหลีกเลี่ยงการอ้างอิง System.Drawing ที่ทำให้การปรับใช้ข้ามแพลตฟอร์มมีปัญหา "ฉันกำลังปรับใช้กับ Linux/Docker และไม่สามารถใช้ System.Drawing ได้" IronQR SkiaSharp.QrCode Net.Codecrete.QrCodeGenerator → เป็นผู้นำในการวัดประสิทธิภาพการสร้างดิบ สำหรับประสิทธิภาพการอ่าน ถูกสร้างขึ้นเพื่อการสแกนปริมาณงานสูง "ประสิทธิภาพและการใช้หน่วยความจำมีความสำคัญ" SkiaSharp.QrCode Dynamsoft Barcode Reader → ใช้สิ่งที่คุณมี การเพิ่มไลบรารี QR ของผู้จำหน่ายรายอื่นเมื่อชุดผลิตภัณฑ์ของคุณมีอยู่แล้วไม่ค่อยสมเหตุสมผลในแง่ของลิขสิทธิ์หรือการบำรุงรักษา "ฉันใช้ชุดผลิตภัณฑ์ Aspose/Syncfusion/Iron Software อยู่แล้ว" → มีคู่มือการผสานรวม MAUI และ Blazor โดยเฉพาะ Microsoft MVP Jeff Fritz โดยใช้ IronQR กับ Blazor ซึ่งเป็นตัวอย่างจริงของรูปแบบนี้ "ฉันกำลังสร้างแอป Blazor/MAUI บนมือถือด้วยการสแกน QR" IronQR ได้สร้างแอปนามบัตรดิจิทัลที่ใช้ QR code ไลบรารี .NET QR Code 11 รายการเปรียบเทียบ 1. IronQR — การอ่านและสร้าง QR code ที่ขับเคลื่อนด้วย ML พร้อมการรองรับข้ามแพลตฟอร์ม IronQR เป็นไลบรารี QR code โดยเฉพาะของ Iron Software ซึ่งแยกออกจากผลิตภัณฑ์ IronBarcode ที่กว้างขวางกว่า คุณสมบัติเด่นคือโมเดลการเรียนรู้ของเครื่อง (ใช้ ) ที่ตรวจจับและอ่าน QR code จากรูปภาพที่ไม่สมบูรณ์ หมุนได้ ถูกบดบังบางส่วน หรือถ่ายด้วยมุมที่ผิดปกติ มักใช้โค้ดเพียงไม่กี่บรรทัด ONNX นอกจากนี้ยังสามารถสร้างออบเจกต์ QR code ได้อย่างง่ายดาย ด้วยการรองรับการจัดแต่ง QR code ด้วยรูปภาพ เพิ่มสีที่กำหนดเอง และบันทึกรูปภาพ QR ของคุณในรูปแบบเอาต์พุตต่างๆ การสร้าง: using IronQr; using IronSoftware.Drawing; // สร้าง QR code ที่จัดแต่งพร้อมโลโก้ var options = new QrOptions(QrErrorCorrectionLevel.High, 20); QrCode qr = QrWriter.Write("https://example.com", options); var style = new QrStyleOptions { Dimensions = 300, Margins = 10, Color = new Color("#2E75B6"), Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("logo.png"), Width = 80, Height = 80 } }; AnyBitmap styledQr = qr.Save(style); styledQr.SaveAs("branded-qr.png"); ผลลัพธ์ QR ที่สร้างโดย IronQR การอ่าน: using IronQr; using IronSoftware.Drawing; var reader = new QrReader(); var input = new QrImageInput(AnyBitmap.FromFile("scanned-qr.jpg")); IEnumerable<QrResult> results = reader.Read(input); foreach (var result in results) Console.WriteLine($"Value: {result.Value}"); ผลลัพธ์การอ่าน IronQR โมเดล ML คือสิ่งที่ทำให้ IronQR แตกต่างจากไลบรารีอื่นๆ ในรายการนี้ ในการทดสอบของเรา มันสามารถถอดรหัส QR code จากรูปถ่ายป้ายงานประชุมและภาพหน้าจอสมาร์ทโฟนที่เอียงได้สำเร็จ ซึ่ง ZXing.Net และเครื่องมืออ่านภาพพื้นฐานไม่สามารถทำได้ ข้อเสียคือขนาดแพ็กเกจ โมเดล ONNX ทำให้มีน้ำหนักมากขึ้น หากคุณไม่ต้องการการอ่าน IronQR.Slim จะมาพร้อมกับโมเดล ML และมีน้ำหนักเบาลงอย่างมาก จุดแข็ง: การอ่านที่ขับเคลื่อนด้วย ML จัดการกับ QR code ที่เสียหาย หมุน หรือถูกบดบังบางส่วน และให้ความสำคัญกับความแม่นยำ รองรับรูปแบบ QR Code, Micro QR และ RMQR (Rectangular Micro QR) API การจัดแต่งที่สมบูรณ์: สี โลโก้ โมดูลโค้งมน ระยะขอบ ข้ามแพลตฟอร์ม: Windows, macOS, Linux, iOS, Android, Docker, Azure, AWS รองรับการอ่านแบบอะซิงโครนัส (ReadAsync) สำหรับปริมาณงานเซิร์ฟเวอร์ บันทึกในหลายรูปแบบ เช่น รูปภาพ PNG, JPG, TIFF หลายหน้า และอื่นๆ API ที่ใช้งานง่ายทำให้สะดวกต่อการใช้งาน ข้อจำกัด: ต้องมีลิขสิทธิ์เชิงพาณิชย์ (749$+ ต่อผู้พัฒนาสำหรับการปรับใช้) แพ็กเกจเต็มมีน้ำหนักมากกว่าทางเลือกโอเพนซอร์สเนื่องจากโมเดล ML ต่ำกว่าตัวเลือกโอเพนซอร์สที่สมบูรณ์แล้ว ผลิตภัณฑ์ใหม่กว่า (เปิดตัวประมาณปี 2023) จำนวนดาวน์โหลด NuGet โครงการที่เน้นการสร้างเท่านั้นอาจไม่ต้องการโอเวอร์เฮดของ ML โปรเจกต์ที่ต้องการทั้งการสร้างและการอ่าน โดยเฉพาะอย่างยิ่งในสภาวะการสแกนที่ไม่สมบูรณ์แบบ (แอปมือถือ, การสแกนในคลังสินค้า, สถานการณ์การประชุม/กิจกรรม) แสดงให้เห็นถึงการสร้าง QR code แบบเรียลไทม์ด้วย Blazor และการสร้างแบรนด์ที่กำหนดเองโดยใช้ IronQR เหมาะสำหรับ: กรณีศึกษา QR business card ของ Jeff Fritz 2. — ตัวสร้าง QR code โอเพนซอร์สที่ได้รับความนิยมสูงสุด QRCoder ไลบรารี QRCoder เป็นแพ็กเกจ QR code ที่ดาวน์โหลดมากที่สุดใน NuGet โดยมี สร้างขึ้นโดย Raffael Herrmann ในปี 2013 และตอนนี้ เป็นการใช้งาน C# โดยเฉพาะที่เน้นเฉพาะการ QR code (ไม่ใช่การอ่าน) การดาวน์โหลดมากกว่า 68 ล้านครั้ง ดูแลโดย Shane32 สร้าง using QRCoder; // สร้าง QR code และบันทึกเป็นไบต์ PNG using var qrGenerator = new QRCodeGenerator(); using var qrCodeData = qrGenerator.CreateQrCode("https://example.com", QRCodeGenerator.ECCLevel.H); using var pngQrCode = new PngByteQRCode(qrCodeData); byte[] qrCodeImage = pngQrCode.GetGraphic(20); File.WriteAllBytes("qrcoder-output.png", qrCodeImage); ผลลัพธ์ QRCoder QRCoder มีเรนเดอเรอร์หลายตัว: PngByteQRCode (ข้ามแพลตฟอร์ม, ไม่มีการอ้างอิง System.Drawing), QRCode (ใช้ System.Drawing, เฉพาะ Windows), SvgQRCode, AsciiQRCode และอื่นๆ นอกจากนี้ยังรวมถึงตัวสร้างเพย์โหลดสำหรับข้อมูลที่มีโครงสร้าง เช่น ข้อมูลรับรอง Wi-Fi, vCard และบุ๊กมาร์ก ซึ่งช่วยให้คุณไม่ต้องจัดรูปแบบสตริงเหล่านั้นด้วยตนเอง จุดแข็ง: ลิขสิทธิ์ MIT ฟรีสำหรับการใช้งานเชิงพาณิชย์ ดาวน์โหลด NuGet มากกว่า 68 ล้านครั้ง, การยอมรับจากชุมชนอย่างกว้างขวางและความเสถียรที่พิสูจน์แล้ว ตัวเลือกเรนเดอเรอร์หลายตัว รวมถึง PngByteQRCode ที่หลีกเลี่ยง System.Drawing ตัวสร้างเพย์โหลดในตัว (Wi-Fi, vCard, ตำแหน่งทางภูมิศาสตร์, เหตุการณ์ในปฏิทิน) รองรับ Micro QR code ไม่มีการอ้างอิง .NET Standard targets ข้อจำกัด: ไม่สามารถอ่านหรือถอดรหัสไฟล์รูปภาพ QR code ได้ เฉพาะการสร้าง เรนเดอเรอร์บางตัว (เช่น QRCode) อ้างอิง System.Drawing.Common ซึ่งใช้ได้เฉพาะบน Windows ตั้งแต่ .NET 6 ไม่มีการฝังโลโก้ในตัว (คุณต้องประกอบรูปภาพด้วยตนเอง) ไม่มีการจัดแต่งขั้นสูง (รูปร่างโมดูล, การไล่ระดับสี) โปรเจกต์ที่ต้องการสร้าง QR code เท่านั้น โดยเฉพาะอย่างยิ่งเมื่อไม่มีงบประมาณ หากคุณต้องการสร้าง Wi-Fi QR code หรือ vCard และไม่ต้องการอ่านโค้ดเลย QRCoder เป็นตัวเลือกเริ่มต้นที่ใช้งานได้จริงสำหรับนักพัฒนา .NET ส่วนใหญ่ เหมาะสำหรับ: 3. — มีดพับสวิสสำหรับไลบรารีบาร์โค้ด ZXing.Net ("Zebra Crossing") คือ ของไลบรารี ZXing ต้นฉบับของ Java เป็นไลบรารีบาร์โค้ดอเนกประสงค์ที่รองรับรูปแบบมากกว่า 15 รูปแบบ ได้แก่ QR Code, Data Matrix, Aztec, PDF 417, UPC, EAN, Code 128 และอื่นๆ การรองรับ QR เป็นส่วนย่อยของความสามารถที่กว้างขวางกว่า ZXing.Net พอร์ต .NET using ZXing; using ZXing.Common; using ZXing.QrCode; // สร้าง QR code var writer = new BarcodeWriterPixelData { Format = BarcodeFormat.QR_CODE, Options = new QrCodeEncodingOptions { Height = 250, Width = 250, Margin = 1 } }; var pixelData = writer.Write("https://example.com"); // การอ่าน QR code ต้องใช้แพ็กเกจการเชื่อมโยง (เช่น ZXing.Net.Bindings.SkiaSharp) ผลลัพธ์ ZXing.Net ZXing.Net ต้องการแพ็กเกจการเชื่อมโยงเฉพาะแพลตฟอร์มสำหรับการเรนเดอร์และการอ่าน แพ็กเกจหลักให้ตรรกะการเข้ารหัส/ถอดรหัส คุณเพิ่ม ZXing.Net.Bindings.Windows.Compatibility, ZXing.Net.Bindings.SkiaSharp หรือ ZXing.Net.Bindings.ImageSharp ขึ้นอยู่กับแพลตฟอร์มเป้าหมายของคุณ แนวทางแบบโมดูลาร์นี้มีความยืดหยุ่น แต่เพิ่มความซับซ้อนในการผสานรวม จุดแข็ง: ลิขสิทธิ์ Apache 2.0 ฟรีสำหรับการใช้งานเชิงพาณิชย์ ทั้งการสร้างและการอ่านในไลบรารีเดียว รองรับรูปแบบบาร์โค้ดมากกว่า 15 รูปแบบนอกเหนือจาก QR codes ผ่านการทดสอบ ความรู้จากชุมชนที่กว้างขวาง ดาวน์โหลด NuGet มากกว่า 32 ล้านครั้ง มี bindings สำหรับ SkiaSharp, ImageSharp, OpenCV และอื่นๆ ข้อจำกัด: คุณสมบัติเฉพาะ QR มีพื้นฐาน ไม่มีโลโก้ฝัง ไม่มีสไตล์ขั้นสูง ความแม่นยำในการอ่านบน QR code ที่เสียหาย/หมุนได้ปานกลางเมื่อเทียบกับโซลูชันที่ขับเคลื่อนด้วย ML แพ็กเกจการเชื่อมโยงเพิ่มความซับซ้อนในการจัดการการอ้างอิง การออกแบบ API แสดงให้เห็นถึงอายุที่มากกว่าไลบรารี .NET สมัยใหม่ อัตราการบำรุงรักษาอย่างต่อเนื่องช้าลง (ดูแลโดยชุมชน) โปรเจกต์ที่ต้องการทั้ง QR code และบาร์โค้ดแบบดั้งเดิม (ค้าปลีก, โลจิสติกส์) และต้องการตัวเลือกที่ฟรีและผ่านการพิสูจน์แล้ว หากสิ่งที่คุณให้ความสำคัญคือคุณสมบัติเฉพาะ QR เช่น การจัดแต่ง หรือการอ่านที่ขับเคลื่อนด้วย ML มากกว่าความครอบคลุมของรูปแบบบาร์โค้ดที่กว้างขวาง ไลบรารีเฉพาะทางจะให้บริการคุณได้ดีกว่า เหมาะสำหรับ: 4. Net.Codecrete.QrCodeGenerator — น้ำหนักเบาและเน้นมาตรฐาน Net.Codecrete.QrCodeGenerator เป็นไลบรารีสร้าง QR code ที่สะอาดและเรียบง่ายโดย Manuel Bleichenbacher เป็น โดยเน้นที่ความถูกต้องและการปฏิบัติตามมาตรฐาน ( ) การแปล .NET ของเครื่องสร้าง QR code Java ของ Project Nayuki ISO/IEC 18004 using Net.Codecrete.QrCodeGenerator; var qr = QrCode.EncodeText("https://example.com", QrCode.Ecc.Medium); string svg = qr.ToSvgString(4); File.WriteAllText("output.svg", svg); ตัวอย่างผลลัพธ์ด้วย Net.Codecrete.QrCodeGenerator ด้วย จึงได้รับการยอมรับอย่างกว้างขวางสำหรับไลบรารีที่เน้นเฉพาะ คุณสมบัติที่โดดเด่นคือไม่มีการอ้างอิง System.Drawing เลย — สร้าง SVG, XAML path data, PNG และ BMP ได้โดยตรง ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับโปรเจกต์ .NET ข้ามแพลตฟอร์มและบริการ ASP.NET Core ที่ทำงานใน Docker การดาวน์โหลด NuGet ประมาณ 4.1 ล้านครั้ง จุดแข็ง: ลิขสิทธิ์ MIT ฟรี ไม่มีการอ้างอิง System.Drawing, ข้ามแพลตฟอร์มอย่างแท้จริง ขนาดเล็ก, สร้างเร็ว เอาต์พุต SVG และ XAML ในตัว (มีประโยชน์สำหรับสถานการณ์ WPF, WinUI และเว็บ) การใช้งานที่ถูกต้องของเวอร์ชัน QR ทั้งหมด 40 เวอร์ชันและระดับการแก้ไขข้อผิดพลาดทั้งหมด 4 ระดับ โปรเจกต์ตัวอย่างมากมาย (WinForms, WPF, ASP.NET Core, SkiaSharp, ImageSharp) ข้อจำกัด: ไม่มีฟังก์ชันการอ่าน QR code เฉพาะการสร้าง ไม่มีการฝังโลโก้หรือคุณสมบัติการจัดแต่งขั้นสูง การปรับแต่งที่จำกัดเมื่อเทียบกับตัวสร้างเพย์โหลดของ QRCoder เนื้อหาและบทแนะนำจากชุมชนน้อยกว่า QRCoder หรือ ZXing.Net นักพัฒนาที่ต้องการเครื่องสร้าง QR code ขนาดเล็ก ถูกต้อง ข้ามแพลตฟอร์ม พร้อมเอาต์พุต SVG และไม่มีสัมภาระ System.Drawing หากเป้าหมายการปรับใช้ของคุณคือ Linux หรือ Docker และคุณต้องการเพียงการสร้าง ไลบรารีนี้สมควรได้รับการพิจารณาอย่างจริงจัง เหมาะสำหรับ: 5. SkiaSharp.QrCode — การสร้างข้ามแพลตฟอร์มประสิทธิภาพสูง SkiaSharp.QrCode โดย เป็นไลบรารีสร้าง QR code ที่เน้นประสิทธิภาพ สร้างขึ้นบน SkiaSharp ถูกสร้างขึ้นโดยเฉพาะเพื่อหลีกเลี่ยงข้อจำกัด GDI+ ของ System.Drawing ในขณะที่ให้ประสิทธิภาพระดับเนทีฟผ่านการเร่งฮาร์ดแวร์ของ SkiaSharp guitarrapc using SkiaSharp.QrCode.Image; // บรรทัดเดียว: สร้างและบันทึก QRCodeImageBuilder.SavePng("https://example.com", "qrcode.png"); // หรือพร้อมการตั้งค่าที่กำหนดเอง var pngBytes = new QRCodeImageBuilder("https://example.com") .WithSize(512, 512) .WithErrorCorrection(ECCLevel.H) .ToByteArray(); ผลลัพธ์บรรทัดเดียวของ SkiaSharp.QrCode ผลการวัดประสิทธิภาพจากที่เก็บของโปรเจกต์แสดงให้เห็นว่า SkiaSharp.QrCode มีประสิทธิภาพเหนือกว่า QRCoder และไลบรารี QR .NET อื่นๆ ทั้งในด้านความเร็วและการจัดสรรหน่วยความจำสำหรับงานสร้าง มันบรรลุการเรนเดอร์แบบ zero-copy โดยตรงไปยัง Canvas ของ SkiaSharp โดยหลีกเลี่ยงการจัดสรรบัฟเฟอร์ชั่วคราว จุดแข็ง: ลิขสิทธิ์ MIT ฟรีสำหรับการใช้งานเชิงพาณิชย์ ประสิทธิภาพการสร้างชั้นนำ (วัดผลแล้ว) การจัดสรรหน่วยความจำน้อยที่สุด, แรงกด GC ต่ำสำหรับสถานการณ์ปริมาณงานสูง พร้อมสำหรับ NativeAOT (รองรับการคอมไพล์ .NET Native AOT) รูปร่างโมดูลที่กำหนดเอง (วงกลม, สี่เหลี่ยมโค้งมน) สำหรับ QR code ที่จัดแต่ง ทำงานบน Windows, Linux, macOS, iOS, Android, WebAssembly ข้อจำกัด: ไม่มีฟังก์ชันการอ่าน QR code เฉพาะการสร้าง ต้องมีการอ้างอิงเนทีฟ SkiaSharp (แพ็กเกจ NuGet เฉพาะแพลตฟอร์ม