條碼產生的方法有許多種,常見的方法有:
- 字型
- 第三方服務:透過網址產生條碼圖片
- 使用Libary:
- Barcode Rendering Framework(barcoderender.codeplex.com)
- Code 11,Code 25,Code 39,Code 93,Code 128
- Code EAN 13,Code EAN 8
- Code PDF417
- Code QR
範例:
private string GetBarcodeImage(string CODE,int BarHeight)
{
try
{
BarcodeSymbology b = BarcodeSymbology.CodeEan13;
Image img = BarcodeDrawFactory.GetSymbology(b).Draw(CODE, BarHeight,1);
return Convert.ToBase64String(UtilityUI.ImageToBuffer(img, System.Drawing.Imaging.ImageFormat.Jpeg));
}
catch (Exception ex)
{
return ex.ToString();
}
}
/// <summary>
/// 將 Image 轉換為 Byte 陣列。
/// </summary>
/// <param name="Image">Image 。</param>
/// <param name="imageFormat">指定影像格式。</param>
public static byte[] ImageToBuffer(Image Image, System.Drawing.Imaging.ImageFormat imageFormat)
{
if (Image == null) { return null; }
byte[] data = null;
using (MemoryStream oMemoryStream = new MemoryStream())
{
//建立副本
using (Bitmap oBitmap = new Bitmap(Image))
{
//儲存圖片到 MemoryStream 物件,並且指定儲存影像之格式
oBitmap.Save(oMemoryStream, imageFormat);
//設定資料流位置
oMemoryStream.Position = 0;
//設定 buffer 長度
data = new byte[oMemoryStream.Length];
//將資料寫入 buffer
oMemoryStream.Read(data, 0, Convert.ToInt32(oMemoryStream.Length));
//將所有緩衝區的資料寫入資料流
oMemoryStream.Flush();
}
}
return data;
}
//====
<Image Name="ImgCode">
<Source>Database</Source>
<Value>=System.Convert.FromBase64String(Fields!CODEIMG.Value)</Value>
<MIMEType>image/png</MIMEType>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
沒有留言:
張貼留言