前提・実現したいこと
C#でQRコードを読み取るアプリケーションを作っています。
Zxingライブラリというものをしようして、画像ファイルの1つのQRコードを読み取ることはできたのですが
連結QR(連結して読み取らないといけないQRコード)の読み取りをしたいです。
何かオプションなどを設定するとそういった機能の実現ができますでしょうか?
それともこのライブラリではそういったことは難しいでしょうか?
どなたか知っている方がいたら教えてください。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
試したところ、これと言って設定せずに読めました。
ただし入力画像はシビアみたいです(枠があったりするとダメだった)
そういう意味では事前処理が必要になりそうです。
cs
1using System.ComponentModel; 2using System.Drawing; 3using System.Linq; 4using System.Windows.Forms; 5using ZXing; 6 7namespace Questions268785 8{ 9 public partial class Form1 : Form 10 { 11 private readonly PictureBox pictureBox; 12 private readonly TextBox textBox; 13 public Form1() 14 { 15 InitializeComponent(); 16 17 textBox = new TextBox 18 { 19 Dock = DockStyle.Fill, 20 Multiline = true, 21 }; 22 Controls.Add(textBox); 23 24 pictureBox = new PictureBox 25 { 26 Dock = DockStyle.Top, 27 SizeMode = PictureBoxSizeMode.AutoSize, 28 ImageLocation = "https://dic.nicovideo.jp/oekaki/323888.png", // OKっぽい 29 //ImageLocation = "https://www.qrcode.com/img/featurePage6/commonDataImage.png", // 明らかに変 当然?w(青枠の中だけに分ければ読めた) 30 }; 31 pictureBox.LoadCompleted += PictureBox_LoadCompleted; 32 Controls.Add(pictureBox); 33 } 34 35 private void PictureBox_LoadCompleted(object sender, AsyncCompletedEventArgs e) 36 { 37 var reader = new BarcodeReader() 38 { 39 AutoRotate = true, 40 TryInverted = true, 41 Options = { 42 TryHarder = true, 43 PossibleFormats = new[] { BarcodeFormat.QR_CODE, }, 44 }, 45 }; 46 var img = new Bitmap(pictureBox.Image); 47 var result = reader.DecodeMultiple(img); 48 img.Dispose(); 49 50 textBox.Text = string.Join("\r\n\r\n", result.Select(x => x.Text)); 51 } 52 } 53}
検証に使用させていただいた画像
QRコードとは (キューアールコードとは) [単語記事] - ニコニコ大百科
QRコードとは?|QRコードドットコム|株式会社デンソーウェーブ
投稿2020/06/09 14:24
編集2023/07/22 07:34総合スコア9862
0
試したことがないので机上の話なのを承知の上で。
QRコードのヘッダで分割QRかどうかが判断つくので、総分割数分読み込めるまでデータを貯めておき、全データそろったら連結して返す、という処理になると思われます。ライブラリ側に分割QRをまとめて処理する機能はありません。
実際にやってみてるブログがあるので参考にしてみてください。
投稿2020/06/09 12:30
総合スコア4447
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。