如何设置固定宽度(500)和高度(300)条形码大小? 我使用Zxing库生成条形码图像。
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();
}
}
OutPut图片:
答案 0 :(得分:1)
您无法使用ZXing.Net设置固定的宽度和高度。该库仅支持不使用抗锯齿进行缩放。结果大小首先取决于应编码的内容。更多内容意味着更多的行和列。每列和每行的单个黑色(和白色)条具有指定的大小。在大多数情况下,所有条形的总和不等于所需的大小。如果需要更多空间,则生成的PDF417代码大于请求的大小。如果少于周围有更多的空白区域。渲染器仅支持整数缩放因子。
最好的方法是,请求1像素宽和1像素高的大小。条形码编写器生成最小所需大小的条形码位图。之后使用您喜欢的图像处理库调整位图大小。
答案 1 :(得分:0)
有一个属性可以设置相对大小...尝试创建一个新的维度()并设置4个参数 ...尺寸(最小列数,最大列数,最小行数,最大行数)设置条形码的最小和最大尺寸upc417