2017-09-03 195 views
0

如何设置固定宽度(500)和高度(300)条码尺寸? 我正在使用Zxing库来生成条形码图像。固定宽度和高度条码PDF417格式

private byte[] GenerateBarCodeZXing(string data) 
    { 
     var writer = new BarcodeWriter 
     { 
      Format = BarcodeFormat.PDF_417, 
      Options = new EncodingOptions { Width = 500, Height = 300, Margin=0 } 
     }; 
     var imgBitmap = writer.Write(data); 
     using (var stream = new MemoryStream()) 
     { 
      imgBitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png); 
      return stream.ToArray(); 
     } 
    } 

输出图像:

enter image description here

enter image description here

+0

你没有提到你的代码/结果有什么问题。是不是500x300? – kennyzx

+0

^图像尺寸是500x300,但我希望条形码尺寸相同。如果您查看上述两张图像,则会更改第二个图像高度/宽度。我正在使用条形码pdf_417生成PDF的Web应用程序。所有数据都是动态的,因此我希望条形码在所有PDF中的大小相同。 –

回答

1

不能设置固定的宽度和高度与ZXing.Net。该库仅支持无抗锯齿的缩放。结果大小首先取决于应该编码的内容。更多的内容意味着更多的行和列。每个列和行的单个黑色(和白色)条都具有指定的大小。在大多数情况下,所有小节的总和不等于所需的大小。如果需要更多空间,则生成的PDF417代码将大于请求的大小。如果少于那里有更多的空白。渲染器仅支持整数比例因子。

最好的方法是请求1像素宽度和1像素高度的大小。条形码书写器生成最小所需大小的条形码位图。然后用你喜欢的图像处理库调整位图大小。