โดยทั่วไปเราใช้บาร์โค้ดเพื่อแสดงข้อมูลที่เข้ารหัสหรือข้อมูลเกี่ยวกับผลิตภัณฑ์หรือบริษัทในรูปแบบที่เครื่องอ่านได้ ปกติเราใช้บาร์โค้ดกับป้ายข้อความ อย่างไรก็ตาม เรายังสามารถสร้างบาร์โค้ดที่มีโลโก้หรือรูปภาพของบริษัทโดยทางโปรแกรมในแอปพลิเคชัน .NET ในบทความนี้ เราจะมาเรียนรู้วิธีสร้างบาร์โค้ดพร้อมโลโก้โดยใช้ C#
บทความจะครอบคลุมหัวข้อต่อไปนี้:
C# API เพื่อสร้างบาร์โค้ดพร้อมโลโก้
สำหรับการสร้างบาร์โค้ดที่มีโลโก้หรือรูปภาพ เราจะใช้ API Aspose.BarCode for .NET ช่วยให้เราสามารถสร้างและจดจำ 1D และ 2D ประเภทบาร์โค้ด ได้หลากหลาย โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.BarCode
สร้างบาร์โค้ดพร้อมโลโก้ใน C#
เราสามารถสร้างบาร์โค้ดที่มีโลโก้หรือรูปภาพได้โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส BarcodeGenerator ที่มี EncodeType และข้อความเพื่อเข้ารหัสเป็นอาร์กิวเมนต์
- หรือตั้งค่าขนาดบาร์โค้ดเป็นพิกเซล
- จากนั้น สร้างภาพบาร์โค้ดโดยใช้เมธอด GenerateBarCodeImage() และจัดเก็บไว้ในบิตแมป
- จากนั้นโหลดภาพโลโก้เป็น Bitmap
- หลังจากนั้น สร้างภาพบิตแมปเปล่าใหม่ที่มีความสูงของโลโก้และภาพบาร์โค้ดที่สร้างขึ้น
- ถัดไป เริ่มต้นวัตถุคลาสกราฟิกโดยใช้เมธอด FromImage() ใช้วัตถุบิตแมปว่างเป็นอาร์กิวเมนต์
- จากนั้นล้างผ้าใบโดยใช้เมธอด Clear()
- ตอนนี้เรียกเมธอด DrawImage() เพื่อวาดภาพบาร์โค้ดบนผืนผ้าใบ
- หลังจากนั้นเรียกเมธอด DrawImage() อีกครั้งเพื่อวาดภาพโลโก้บนผืนผ้าใบ
- สุดท้าย บันทึกผลลัพธ์โดยใช้เมธอด Image.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้สาธิตวิธีสร้างบาร์โค้ดพร้อมรูปภาพโลโก้โดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีสร้างบาร์โค้ดด้วยรูปภาพแทนข้อความโค้ด
// สร้างอินสแตนซ์ของคลาส BarcodeGenerator
// ตั้งค่าสัญลักษณ์บาร์โค้ด
// ตั้งค่าข้อความบาร์โค้ด
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN13, "1234567890");
// ตั้งค่าขนาดรหัส QR เป็นพิกเซล
generator.Parameters.Barcode.XDimension.Pixels = 10;
// สร้างภาพบาร์โค้ดและเก็บไว้ในบิตแมป
Bitmap barcode = generator.GenerateBarCodeImage();
// โหลดโลโก้หรือรูปภาพอื่นเป็นบิตแมป
Bitmap picture = (Bitmap)Image.FromFile(@"D:\Files\BarCode\aspose-logo.png");
// สร้างรูปภาพเปล่าใหม่ที่มีความสูงและความกว้างที่คำนวณใหม่
Bitmap output = new Bitmap(Math.Max(barcode.Width, picture.Width), barcode.Height + picture.Height);
// รับวัตถุกราฟิก
using (Graphics g = Graphics.FromImage(output))
{
// ล้างผ้าใบ
g.Clear(Color.White);
// วาดภาพหลัก (ภาพบาร์โค้ด) บนผืนผ้าใบ
g.DrawImage(picture, new PointF(30, 0));
// วาดภาพที่สอง (ภาพโลโก้) บนผืนผ้าใบภายในภาพบาร์โค้ด
g.DrawImage(barcode, new PointF(0, picture.Height));
}
// บันทึกภาพผลลัพธ์
output.Save(@"D:\Files\BarCode\output.jpg");
สร้าง QR Code พร้อมโลโก้โดยใช้ C#
ในทำนองเดียวกัน เรายังสามารถสร้างรหัส QR พร้อมโลโก้หรือรูปภาพโดยทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้ อย่างไรก็ตาม เราต้องตั้งค่า EncodeType เป็น QR ในขั้นตอนแรก
ตัวอย่างโค้ดต่อไปนี้สาธิตวิธีสร้างโค้ด QR พร้อมรูปภาพโลโก้โดยใช้ C#
// ตัวอย่างรหัสนี้สาธิตวิธีสร้างบาร์โค้ดด้วยรูปภาพแทนข้อความรหัส
// สร้างอินสแตนซ์ของคลาส BarcodeGenerator
// ตั้งค่าสัญลักษณ์บาร์โค้ด
// ตั้งค่าข้อความบาร์โค้ด
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567890");
// ตั้งค่าขนาดรหัส QR เป็นพิกเซล
generator.Parameters.Barcode.XDimension.Pixels = 10
// สร้างภาพบาร์โค้ดและเก็บไว้ในบิตแมป
Bitmap barcode = generator.GenerateBarCodeImage();
// โหลดโลโก้หรือรูปภาพอื่นเป็นบิตแมป
Bitmap picture = (Bitmap)Image.FromFile(@"D:\Files\BarCode\logo.png");
// สร้างรูปภาพเปล่าใหม่ที่มีความสูงและความกว้างที่คำนวณใหม่
Bitmap output = new Bitmap(Math.Max(barcode.Width, picture.Width), barcode.Height + picture.Height);
// รับวัตถุกราฟิก
using (Graphics g = Graphics.FromImage(output))
{
// ล้างผ้าใบ
g.Clear(Color.White);
// วาดภาพหลัก (ภาพบาร์โค้ด) บนผืนผ้าใบ
g.DrawImage(picture, new PointF(30, 0));
// วาดภาพที่สอง (ภาพโลโก้) บนผืนผ้าใบภายในภาพบาร์โค้ด
g.DrawImage(barcode, new PointF(0, picture.Height));
}
// บันทึกภาพผลลัพธ์
output.Save(@"D:\Files\BarCode\qr_output.jpg");
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีสร้างบาร์โค้ดพร้อมภาพโลโก้ เราได้เห็นวิธีสร้างรหัส QR ด้วยรูปภาพโดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.BarCode for .NET API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม