Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8899

画面表示(スクリーンショット)から、QRコードを読み込んで、デコードするC#の単体アプリ⇒テキスト書き出し版

$
0
0

画面表示(スクリーンショット)から、QRコードを読み込んで、デコードするC#の単体アプリです

の続きで、テキスト書き出し版

screen_qr_decode.cs
//c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /reference:QRCodeEncoderDecoderLibrary.dll /target:winexe screen_qr_decode.cs//ILMerge /out:QR_OUT.exe screen_qr_decode.exe QRCodeEncoderDecoderLibrary.dllusingSystem;usingSystem.Windows.Forms;usingSystem.Drawing;usingQRCodeEncoderDecoderLibrary;publicclassscreen_qr_decode{publicstaticvoidMain(string[]args){try{QRDecoderQRCodeDecoder;BitmapQRCodeInputImage;QRCodeDecoder=newQRDecoder();QRCodeInputImage=newBitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);Graphicsg=Graphics.FromImage(QRCodeInputImage);g.CopyFromScreen(newPoint(0,0),newPoint(0,0),QRCodeInputImage.Size);g.Dispose();QRCodeInputImage.Save("temporary.png",System.Drawing.Imaging.ImageFormat.Png);byte[][]DataByteArray=QRCodeDecoder.ImageDecoder(QRCodeInputImage);//string Result = System.Text.Encoding.GetEncoding(932).GetString(DataByteArray[0]);stringResult=System.Text.Encoding.UTF8.GetString(DataByteArray[0]);//string Result = System.Text.Encoding.GetEncoding(51932).GetString(DataByteArray[0]);// 文字列を置換するようなビジネスロジック(もしあれば)//string str1 = Result.Replace("ω", " ");//str1 = str1.Replace("Ω", "\t");stringstr1=ResultMessageBox.Show(str1);DateTimedt=DateTime.Now;stringdt_s=dt.ToString("yyyyMMdd_HHmmss");System.IO.File.WriteAllText(@".\"+dt_s+".txt",str1);}catch(Exceptionex){MessageBox.Show("読み取りエラー\n\n"+ex);}}}

Viewing all articles
Browse latest Browse all 8899

Trending Articles