2017-09-03 4 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ですが、私はバーコードのサイズを同じにします。上記の2つの画像を見ると、2番目の画像の高さ/幅が変更されます。私はバーコードpdf_417 nのいくつかの情報とPDFを生成するwebappに取り組んでいます。すべてのデータは動的なので、すべてのPDFでバーコードのサイズを同じにします。 –

答えて

1

あなたはZXing.Netと一定の幅と高さを設定することはできません。ライブラリは、アンチエイリアスなしのスケーリングしかサポートしていません。結果のサイズは、最初にエンコードされるコンテンツに依存します。コンテンツが多いほど、より多くの行と列を意味します。すべての列と行の単一の黒(および白)バーは、指定されたサイズを持ちます。ほとんどの場合、すべてのバーの合計が希望のサイズと等しくありません。より多くのスペースが必要な場合は、結果として得られるPDF417コードが要求されたサイズよりも大きくなります。周囲よりも空白が少ない場合レンダラーは整数倍率をサポートしています。

最も良い方法は、1ピクセル幅と1ピクセル高さのサイズを要求することです。バーコードライターは、必要最小限のサイズのバーコードビットマップを生成します。その後、好みの画像操作ライブラリでビットマップのサイズを変更します。

関連する問題