using System; using System.Data; using System.Collections; using System.Collections.Generic; using HcUtility.Core; using System.Xml.Serialization; using System.IO; using System.Drawing; using DSWeb.BallotAiying2; using DotNet4.Utilities; using System.Text; using DotNet.Framework.Common.Algorithm; namespace DSWeb.MvcShipping.DAL.GetYYDY { public class MsGetYYDYDAL { static private Image byteArrayToImage(byte[] Bytes) { using (MemoryStream ms = new MemoryStream(Bytes)) { Image outputImg = Image.FromStream(ms); return outputImg; } } static private string CutStr(string Code) { var result = ""; var startindex = Code.IndexOf("1"); result = Code.Substring(startindex, Code.Length - startindex); var endindex = result.LastIndexOf("1"); result = result.Substring(0, endindex + 1); return result; } static private Bitmap CutMap(Bitmap _bitmap) { Rectangle rg = new Rectangle(4, 0, _bitmap.Width - 4, _bitmap.Height); //Rectangle rg = new Rectangle(1, 0, _bitmap.Width - 10, _bitmap.Height ); Bitmap bitmap = _bitmap.Clone(rg, _bitmap.PixelFormat); return bitmap; } static private Bitmap[] SplitImg(Bitmap _bitmap, int row, int col) { int singW = _bitmap.Width / row; int singH = _bitmap.Height / col; Bitmap[] arrmap = new Bitmap[row * col]; Rectangle rect; for (int i = 0; i < col; i++) { for (int j = 0; j < row; j++) { rect = new Rectangle(j * singW, i * singH, singW, singH); arrmap[i * row + j] = _bitmap.Clone(rect, _bitmap.PixelFormat); } } return arrmap; } static public string GetCode(string startstr, Dictionary CodeKey) { SortedList sl; sl = new SortedList(); LevenshteinDistance ld = new LevenshteinDistance(); foreach (var Codeitem in CodeKey) { var parent = ld.LevenshteinDistancePercent(Codeitem.Key, startstr); if (parent > 0.85m) { if (!sl.ContainsKey(parent)) { sl.Add(parent, Codeitem.Value); } } } return sl.GetByIndex(sl.Count - 1).ToString(); } private static Dictionary GetCodeData() { Dictionary CodeKey = new Dictionary(); CodeKey.Add("11100000001111100000110001100011100011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100000111111000000111", "0"); CodeKey.Add("1010000000111110000011000110001100001100011000011001110000100011000001100110000010001100000110011000011000110000110001100001100011000110000011110000000011", "0"); CodeKey.Add("11100000001111100000110001100011000011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("11100000001111100000110001100011000011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100000111111000000111", "0"); CodeKey.Add("1000000001110000000111000000110110000001011100000110011000001001100000000001000000000110000000001000000000011000000000110000000010000000000110000000001", "0"); CodeKey.Add("11100000001101100000010000100010000010000110000010001000001000110000011000100000100011000000100110000110001000000100011000010000010001100000110100000000101", "0"); CodeKey.Add("11100000011111100000110001100011000011000110000110011100001100111000011001100000110011000001100110000011001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("11100000001111100000110001100011100011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("11100000001101100000100000100011000010000100000110001000000000110000011001100000010010000001000100000000001100001100010000010000110000100000111110000000111", "0"); CodeKey.Add("10000000001100000001100000000111100000010111000001100110000010010100000000010000000001100000000010000000000010000000011100000000100000000001100000000011", "1"); CodeKey.Add("10000000011100000001111000001111100000111111000001110110000010011100000000111000000001100000000011000000000110000000011100000000111000000001100000000011", "1"); CodeKey.Add("10000000011000000001100000000111100000011111000001100100000010000100000000010000000001100000000011000000000110000000001100000000110000000001100000000011", "1"); CodeKey.Add("10000000001100000001100000000111100000010101000001100100000010011100000000010000000001100000000011000000000110000000001100000000100000000001100000000011", "1"); CodeKey.Add("10000000010100000001010000001111100000111111000001100100000010010100000000010000000000100000000011000000000010000000001100000000000000000001100000000001", "1"); CodeKey.Add("10000000001100000001110000001111100000111111000001100110000010001100000000110000000001100000000011000000000110000000011000000000110000000001100000000011", "1"); CodeKey.Add("10000000011100000001110000001111100000111111000001110110000010011100000000110000000001100000000011000000000110000000011100000000110000000001100000000011", "1"); CodeKey.Add("10000000001000000001010000000111100000101010000001100110000000000000000000110000000001100000000011000000000100000000001000000000100000000001100000000011", "1"); CodeKey.Add("10000000011100000001110000001111100000111111000001100110000010011100000000110000000001100000000011000000000110000000011100000000110000000001100000000011", "1"); CodeKey.Add("100000000010000000010100000001110000001110110000010001000000000010000000001000000000011000000000110000000001000000000110000000000100000000011", "1"); CodeKey.Add("10000000011100000001111000001111100000111111000001110110000010011100000000110000000001100000000011000000000110000000011100000000111000000001100000000011", "1"); CodeKey.Add("10000000001000000001110000000110100000110110000001100110000000000000000000110000000001100000000010000000000110000000001000000000110000000001000000000011", "1"); CodeKey.Add("10000000001000000001010000000111100000101010000001100110000000001000000000100000000001100000000011000000000010000000001000000000010000000001100000000011", "1"); CodeKey.Add("10000000001000000001110000000110100000011011000001100100000010011000000000000000000001100000000011000000000000000000001000000000110000000001000000000011", "1"); CodeKey.Add("11110000001010100000100000110001100001000000000001000000001100000000001000000001100000000111000000001000000001010000000111000000011100000000011111110001001101", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000000111000000011100000001110000000111100000001111111100011111111", "2"); CodeKey.Add("11110000001101010000111000010000100001000000000011000000000010000000011000000001010000000111000000011000000001110000000110000000001100000000111111110001101101", "2"); CodeKey.Add("1111000000111010000001000011000110000010000000000100000000010000000001100000000101000000011100000001100000000011000000011000000001111000000010101111000111101", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000000111000000011110000001111000000111100000001111111100011111111", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000001111100000011110000001111000000111100000001111111100011111111", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000000111100000011110000001111000000111100000001111111100011111111", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000001000000000111000000011100000001110000000111000000011000000001010000000111100000001110111100011011111", "2"); CodeKey.Add("11100000011010100001010001100011000011000000000100000000011100000000111000000011100000000110000000111000000011100000001110000000111100000001111111100011111111", "2"); CodeKey.Add("1111000000101101000011000001000010000110000000001000000000101000000001100000000101000000011100000001100000000011000000011100000000110000000011111111000111011", "2"); CodeKey.Add("111100000011110100001110001100011000011000000000110000000001100000000111000000011100000001110000000101000000011100000001010000000101100000001110111100011011111", "2"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000000111000000011100000001111000000111100000001111111100011111111", "2"); CodeKey.Add("111100000011010100001110001000011000011000000000110000000010100000000101000000010100000001110000000101000000010100000001110000000010100000001111010100011111111", "2"); CodeKey.Add("11110000001101010000110000010000100001000000000001000000001100000000011000000001010000000101000000011100000001110000000011000000011100000000101111110001101101", "2"); CodeKey.Add("111100000011111000001010001100011000011000000000110000000011100000000111000000011100000001110000000101000000011100000001100000000111100000001110111100011011111", "2"); CodeKey.Add("111100000011111000001010001100011000011000000000010000000011100000000111000000010100000001110000000111000000011000000001100000000111100000001110111100001010101", "2"); CodeKey.Add("111100000011101100001110001100010000011000000000010000000001100000000101000000010100000000100000000111000000011100000001010000000001100000001111111100011111001", "2"); CodeKey.Add("11100000011010100000010000100011000010000000000110000000011000000011110000000110000000000011000000000010000000000100110000011000110001000001111110000000111", "3"); CodeKey.Add("11100000011101000000110001100011000011000000000110000000001000000011010000000111000000000101000000000110000000001100110000011000100000010001110101000000111", "3"); CodeKey.Add("11100000011101100000010000100011000010000000000110000000010000000011110000000101000000000011000000000010000000000100010000010000110001100001011110000000111", "3"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000011110000000111000000000111000000000110000000001100111000011000110001110001111111000001111", "3"); CodeKey.Add("1111000000111111000011100011000110000110000000001100000000111000000111100000001110000000001110000000001100000000011001110000110001100011100011111110000011111", "3"); CodeKey.Add("111100000011110100000110001100011000001000000000100000000010000000010110000000110000000000011000000000100000000000100110000010000110000100000111111000000111", "3"); CodeKey.Add("1111000000111111000011100011000110000110000000001100000000111000000111100000001110000000000110000000001100000000011001110000110001100011100011111110000001111", "3"); CodeKey.Add("11100000011001100000100000100011000010000000000110000000001000000011010000000111000000000001000000000110000000000100110000010000100000100001111100000000111", "3"); CodeKey.Add("11100000011011100000110000100011000010000000000010000000011000000011010000000101000000000010000000000010000000000100110000011000100000000001111111000000101", "3"); CodeKey.Add("1110000001110100000011000110001100000100000000011000000001110000000111000000011100000000001100000000010000000000010011000001100011000001000111111100000011", "3"); CodeKey.Add("11100000011101000000110001100010000010000000000010000000001000000011010000000101000000000000000000000100000000001100110000010000010000100001111111000000111", "3"); CodeKey.Add("1111000000111111000011100011000110000110000000001100000000111000000111100000001110000000001110000000001100000000011001100000110001100011100011111110000011111", "3"); CodeKey.Add("11100000011010100000110000100000000010000000000110000000011000000011010000000111000000000001000000000110000000001000110000010000110000100001111101000000111", "3"); CodeKey.Add("1111000000111111000011100011000110000110000000001100000000111000000111100000001110000000000110000000001100000000011001110000110001100011100011111110000011111", "3"); CodeKey.Add("11100000011101000000110001100011000001000000000110000000010100000010110000000110000000000011000000000100000000001000010000001000110001110001111101000001111", "3"); CodeKey.Add("11100000011101100000100000100011000010000000000010000000011000000011100000000101000000000001000000000100000000000100110000010000110000100001111111000001101", "3"); CodeKey.Add("1100000000110000000001010000000101000000011011000000000100000011001000001100100000110001100000000010000011111111101101010100000000110000000000100000000011", "4"); CodeKey.Add("1110000000111000000011110000000111100000011011000001100110000011011000001100110000111001100001100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("1100000000100000000000110000000010100000011011000001100000000010001000001100100000110001100001100010000101111111100111101000000000010000000001000000000011", "4"); CodeKey.Add("1100000000111000000011110000000111100000011011000001100110000011011000001100110000110001100001100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("1100000000101000000011110000000101100000011101000000100110000011001000001100010000010001100001100010000111111111101111101010000000110000000000100000000011", "4"); CodeKey.Add("1100000000110000000001010000000111000000010001000000100100000010001000001000110000110000000000100011000011111101101111110100000000110000000001000000000011", "4"); CodeKey.Add("1100000000110000000001010000000101100000011011000000100000000010001000001100110000100000100001000011000011111101101101110100000000110000000001000000000011", "4"); CodeKey.Add("1100000000111000000011110000000111100000011101000000100100000011010000001100100000110000100001100011000011111111101111101011000000110000000001100000000001", "4"); CodeKey.Add("1100000000110000000001010000000101000000010011000000100100000010001000000100100000110001100001000010000101111011101110011010000000110000000001000000000011", "4"); CodeKey.Add("1100000000111000000001100000000111100000011011000000000110000011001000001100110000110001100001100001000111011111101111111111000000110000000001000000000011", "4"); CodeKey.Add("1100000000110000000001110000000111100000010011000000100100000011001000001100110000110000100000100011000011111111101111011111000000110000000001100000000011", "4"); CodeKey.Add("1111111000011111110000110000000001100000000110000000001111110000011111110000110001100000000011100000000111000000001100011000011000110001110001111111000000111", "5"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110000110001100000000011100000000111000000001110011000011000110001110001111111000000111", "5"); CodeKey.Add("111111000011111100000110000000001100000000010000000001111110000010110110000110001100000000000100000000010000000001100011000001000110000110001111111000000101", "5"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110000110001100000000011100000000111000000001100011000011000110001110001111111000000111", "5"); CodeKey.Add("1111111000011111110000110000000001100000000110000000001111110000011111110000110001100000000011100000000111000000000100011000011000110001110001111111000000111", "5"); CodeKey.Add("1111111000011111110000110000000001100000000010000000001110110000011011010000110001100000000001100000000011000000000100011000010000110001110000111111000000111", "5"); CodeKey.Add("1111111000011111110000110000000001100000000010000000001111110000011111110000110001100000000011100000000111000000000100011000011000110001110001111111000000111", "5"); CodeKey.Add("111011000011111010000110000000000000000000010000000001111110000001001010000100001000000000001000000000000000000000100011000010000110001100000111101000000111", "5"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110000110001100000000011100000000111000000000100011000011000110000110001111111000000111", "5"); CodeKey.Add("1111111000011111110000110000000011100000000111000000001111110000011111110000110001100000000011100000000111000000001110011000011000110001110001111111000000111", "5"); CodeKey.Add("111111000011111110000110000000001100000000110000000001111110000011101010000010000100000000001100000000010000000000100011000010000110001010001111111000000111", "5"); CodeKey.Add("111111000011001110000010000000001100000000000000000001110110000011111010000110001000000000010100000000011000000001000011000011000110001110001111111000000111", "5"); CodeKey.Add("11100000001111100000110000100000000010000110000000001101100000010110110001100001000001100001000110000000001000001100001000001000011000100000111110000000101", "6"); CodeKey.Add("111100000011111000001100011000111000110001100000000011011100001111111100011100011000111000111001110001110011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("1110000000110100000011000110000100001000011000000000110110000000101111000111000010001100000100001000010000110000010000100001100001000110000011110000000001", "6"); CodeKey.Add("111100000011111000001100011000111000110001100000000011111100001111111100011100011000111000111001110001110011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("11100000001101000000110001100001000001000110000000001101100000011011110001100001000001000011000110000000001000000100001000011000011000100000111110000000011", "6"); CodeKey.Add("111000000010111000001100011000111000010001100000000011011100001111110100011000011000111000110001100000100001000010000110000110000110001100001011110000001111", "6"); CodeKey.Add("111000000011111000001100011000111000110001100000000011011100001111111100011100011000111000111001100001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("111000000011111000001100011000111000110001100000000011011100001111111100011100011000111000111001110001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("11100000001101100000110000100001000010000110000000001101100000010110110001100001000001000001000110000000000100001100001000010000011000100000111110000000011", "6"); CodeKey.Add("111000000011101000001100001000111000110001100000000011001000001101111100001100011000101000010001100000100001000001000110000100000110001100001111100000001011", "6"); CodeKey.Add("111000000011111000001100001000111000110000100000000011011100001111101000011100011000011000110001100000100001000010000110000110000110001100001111110000001111", "6"); CodeKey.Add("11100000001101100000110000100001000011000110000000001101100000010110100001110001100001000001000110000110001000000100001000010000011000100000111101000000011", "6"); CodeKey.Add("111000000011110000001100011000111000110001100000000011011100000101110100001100010000111000010000100001100011000010000010000110000110011100000111100000001111", "6"); CodeKey.Add("111000000011111000001100011000111000110001100000000011011100001111111100011100011000111000110001110001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("11000000011010000001100011000011000110001100000000011011100000111011100011100011000111000100001100000100001000001000110000110000010011100001111110000001111", "6"); CodeKey.Add("111000000011111000001100011000111000010001100000000011011100000111101100011100011000111000010001100001000011000010000110000110000010001100001111100000001111", "6"); CodeKey.Add("111000000011011000001100011000111000010001100000000011011100000111010100001000011000011000110001100000000011000001000110000110000110001100001111100000001101", "6"); CodeKey.Add("111000000011010000001100011000111000110001100000000010011100001111111100001000011000111000011000100001000011000010000110000110000110011100001111110000001101", "6"); CodeKey.Add("11100000001111100000010000100001000010000110000000001101100000010101110001110001000001000011000110000000001000000100001000010000011000100000111110000000011", "6"); CodeKey.Add("111100000011111000001100011000111000110001100000000011111100001111111100011100011000111000111001100001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("111100000011111000001100011000111000110001100000000011111100001111111100011100011000111000111001110001100011000001000010000110000110011100001111110000001111", "6"); CodeKey.Add("111111111001111111100000000111000000001100000000110000000011100000000110000000011100000000110000000001100000000111000000001100000000011000000001100000000011", "7"); CodeKey.Add("111111111001111111100000000011000000001000000000110000000001100000000110000000010100000000110000000001100000000010000000001000000000011000000001100000000011", "7"); CodeKey.Add("111111111001111101000000000111000000001100000000110000000001100000000110000000011100000000110000000001000000000110000000001100000000011000000001100000000011", "7"); CodeKey.Add("111111111001111101000000000011000000001100000000110000000001100000000110000000011100000000110000000001100000000100000000001100000000011000000001000000000011", "7"); CodeKey.Add("111111111001111111100000000111000000001100000000110000000011100000000110000000011100000000110000000001100000000111000000001100000000011000000001110000000011", "7"); CodeKey.Add("111111111001111111100000000011000000001100000000110000000011100000000110000000011100000000110000000001100000000110000000001100000000011000000001100000000011", "7"); CodeKey.Add("111110110001111111100000000010000000001100000000100000000001000000000110000000011100000000110000000001100000000100000000001100000000011000000000100000000011", "7"); CodeKey.Add("111111111001011010000000000011000000001100000000110000000000000000000110000000001000000000110000000001100000000010000000001000000000011000000000100000000011", "7"); CodeKey.Add("11111111100111010100000000011100000000100000000011000000000110000000011000000000110000000011000000000110000000011000000000110000000000100000000010000000001", "7"); CodeKey.Add("111111101001011010100000000011000000001000000000110000000011000000000110000000000000000000110000000001100000000010000000001100000000011000000000100000000011", "7"); CodeKey.Add("111111111001111111110000000111000000001100000000110000000011100000000110000000011100000000110000000011100000000111000000001100000000011000000001100000000011", "7"); CodeKey.Add("11111011100011111000000000001100000000100000000001000000000100000000011000000000100000000011000000000100000000010000000000110000000001100000000010000000001", "7"); CodeKey.Add("111111110001110101000000000001000000001100000000110000000001000000000110000000001000000000110000000000100000000110000000001100000000011000000000000000000011", "7"); CodeKey.Add("111110111000111110000000000011000000001100000000110000000001000000000010000000001000000000110000000001100000000010000000001100000000011000000000100000000011", "7"); CodeKey.Add("111111011001110101000000000011000000001000000000110000000001100000000110000000001100000000110000000001100000000110000000001100000000001000000000100000000011", "7"); CodeKey.Add("111111111001111111110000000111000000001100000000110000000011100000000110000000011100000000110000000001100000000111000000001100000000011000000001110000000011", "7"); CodeKey.Add("111111111001111111000000000011000000001000000000110000000011000000000110000000011100000000110000000000100000000110000000001000000000011000000001000000000011", "7"); CodeKey.Add("1111000000111111000011100011000110000110001100001100011100110000011111100001111110000111000110001100001100011000011000110000110001100011100011111110000001111", "8"); CodeKey.Add("1111000000111111000011100011000110000110001100001100011100111000011111100001111110000111000110001100001100011000011000110000110001100011100011111110000001111", "8"); CodeKey.Add("111100000011001100000110000100011000010000010000110001100010000001011100000011010000001100001000110000100001100000100011000011000110001100000111110000000111", "8"); CodeKey.Add("111100000011101000000110001100001000010000110000010001100011000001111000000011111000011100001000100000100001100001100011000001000110001100000111110000000111", "8"); CodeKey.Add("1110000001111010000011000010001100001100011000001000010001100000111110000001011100000110000100011000010000110000010001100001100011000111000101111100000001", "8"); CodeKey.Add("111100000011101000000110001100010000001000110000110001100010000001111100000011010000000100011000110000010001100001100011000001000110001100000111110000000111", "8"); CodeKey.Add("111100000011101100001100001100010000001000110000010001100011000001110100000011110000010100011000110000100001100000100011000010000110000100000111111000000011", "8"); CodeKey.Add("1111000000111111000011100011000110000110001100001100011100110000011111000001111110000111000110001100001100011000011000110000110001100011100011111110000001111", "8"); CodeKey.Add("111100000011111100001110001100011000011000110000110001110011000001111100000111111000011100011000110000110001100001100011000011000110001110001111111000000111", "8"); CodeKey.Add("111100000011111100001110011000011000011000110000110011100001100011000011000110001110001101010100000101110000000001100011000010000110001100001111110000001111", "9"); CodeKey.Add("111100000011111100001110011000011000011000110000110011100001100011000011000110001110001111111100001111110000000001100011000111000110001100001111110000001111", "9"); CodeKey.Add("10100000011111100001010001000011000011000010000110011100001100011000011000100001010000110101000000101010000000000100011000011000110001100001111110000001011", "9"); CodeKey.Add("111100000011111100001110011100011000011000110000110011100001100011000011000110001110001111111100001111110000000001100011000111000110001100001111110000001111", "9"); CodeKey.Add("11110000001101110000110000100000100001000010000010000000000100001000001100011000101000101111010000010101000000000110001100000100001000010000011111000000001", "9"); CodeKey.Add("101100000011100100001110000000011000001000110000100011100001100011000011000010000110001111111100001011100000000000100011000111000110001000001111110000001011", "9"); CodeKey.Add("111100000011101100001100001000011000011000110000010001000001000010000001000110001100001011110100000101010000000001100011000001000110001100000011100000000111", "9"); CodeKey.Add("111100000011111100001110011100011000011000110000110011100001100011000011000110001110001111111100001111111000000001100011000111000110001100001111110000001111", "9"); CodeKey.Add("111100000011111100001110001000011000011000110000110011100001100011000011000110001110001111111100001111110000000001100011000111000110001100001111110000001111", "9"); CodeKey.Add("111100000001101100001100001000011000011000100000100000000000100010000011000110001000001011101100000111100000000000100011000010000110000100000111110000000101", "9"); CodeKey.Add("111100000011111100001110001000011000011000110000100011100001100001000011000110001110000101110100001110100000000000100011000011000110001100001111110000001111", "9"); CodeKey.Add("111111000011010100000110000000001000000000010000000001101110000011010110000100001000000000001000000000010000000000100001000010000110001100000111101000000101", "5"); CodeKey.Add("10100000011111100000110001100011000011000000000110000000001100000011100000000111000000000001000000000100000000000100110000010000110001110001111111000001111", "3"); CodeKey.Add("111100000011101000000110001100011000010000110000010001100011000001111100000010010000001000011000110000100001000000100010000010000110000100000101111000000111", "8"); CodeKey.Add("1110000000111000000011110000000111100000011011000001100110000011011000001100110000111001100011100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("110100000011111100001110001100011000011000000000110000000011100000011110000000111000000000011000000000100000000001100110000010000110000110000111011000000101", "3"); CodeKey.Add("11110000001110110000110000100001100001100011000001000100000100001000001100011000101000011111010000001011000000000100001100000100001000010000011111000000011", "9"); CodeKey.Add("11100000001111100000110001100011000011000110000110011100001100110000011001100000110011000001100110000111001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("111111111001011111100000000111000000001000000000010000000001100000000110000000011100000000110000000000100000000111000000001100000000011000000000100000000011", "7"); CodeKey.Add("111101000011011100000110000000000000000000010000000001111110000010010110000000001100000000001000000000000000000000100001000011000110000000000111111000000101", "5"); CodeKey.Add("1110000000111000000011110000000111100000011011000001100110000011001000001100110000111001100001100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("10000000011100000001110000001111100000111111000001100110000010011100000000110000000001100000000011000000000110000000011100000000111000000001100000000011", "1"); CodeKey.Add("110000000011111000001100011000110000110000100000000011011100001010111100001100011000111000100001100000100011000011000110000110000110001000000111110000001101", "6"); CodeKey.Add("1100000000101000000001100000000001100000011001000000100100000010001000001100100000110001100000100010000111111011101110111000000000010000000001100000000001", "4"); CodeKey.Add("111100000011111100001110001100011000011000110000110001100011000001111100000111111000011100011000110000110001100001100011000011000110001110001111111000000111", "8"); CodeKey.Add("111111000011111110000010000000001100000000100000000001111110000011110110000110001100000000000100000000011000000001000011000010000110000110001111111000000111", "5"); CodeKey.Add("111100000011010100001100001000011000010000100000010001000001000011000011000110001100001111110100000101010000000000100011000110000010000100001110110000000101", "9"); CodeKey.Add("11100000011111100000110001100011000011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("111100000011111100001110011000011000011000110000110011100001100011000011000110001110001111111100001111110000000001100011000111000110001100001111110000000111", "9"); CodeKey.Add("111111111001011111000000000011000000001100000000110000000011100000000110000000001100000000100000000001100000000010000000001100000000011000000000100000000011", "7"); CodeKey.Add("11100000011101100000110000100011000010000000000110000000010000000011110000000101000000000001000000000100000000000100110000011000010000000001111111000000111", "3"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110000110001100000000001100000000111000000000100011000011000110001110001111111000000111", "5"); CodeKey.Add("1100000000101000000010110000000111100000011101000000100100000011001000001100110000110001000001000011000111111111101111111010000000110000000001100000000011", "4"); CodeKey.Add("1111111000011101000000110000000000000000000010000000001111110000010101010000100001100000000001000000000000000000000100001000010000110001100000111101000000101", "5"); CodeKey.Add("111100000011111000001100111000111000110001100000000111011100001111111100011100011000111000111001110001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("11100000001111100000110001100011000011000110000110011100001100111000011001100000110011000001100110000111001100001100011000011000110001100001111110000000111", "0"); CodeKey.Add("110100000011010100001010001100011000010000000000110000000011100000000111000000011100000001110000000011000000011100000001110000000010100000001111111100011110101", "2"); CodeKey.Add("1100000001101100000110000100011000011000010000010011000001000010000001001100000100010000000100110000010001100001000001000011000110001000000111110000000111", "0"); CodeKey.Add("110000000011100000001111000001111100000111111000001110110000010011100000000111000000001100000000011000000000110000000011100000000111000000001100000000011", "1"); CodeKey.Add("10000000010100000001110000001111100000111101000001100110000010001100000000110000000001100000000011000000000010000000001100000000110000000001100000000011", "1"); CodeKey.Add("1110000000110110000011000010001100001000011000001000100000100011000000100110000011001000000010011000011000110000100001100001000011000100000011111000000001", "0"); CodeKey.Add("111000000011111000001100011000111000110001100000000011011100001111111100011100011000111000110001100001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("11100000011010100001010001000011000010000000000010000000010100000000111000000011100000001110000000011000000011000000001100000000111100000001110110100011111111", "2"); CodeKey.Add("11110000001110100000011000110001100001000010000001000110000000000111100000001101100000110000100001000010000110000110001000001000011000110000001111000000011", "8"); CodeKey.Add("1100000000111000000011110000000111100000011011000001100110000011011000001100110000111001100011100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("1110000000111010000011000110001100000100011000011001100000100011000001100110000011001100000100010000010100110000100001100001000011000010000001111000000011", "0"); CodeKey.Add("11100000001110100000110001000011000010000110000010001000000100110000010000100000110011000000100110000110001000000100011000011000110001000000011110000000111", "0"); CodeKey.Add("111100000011111100001110011100011000011000110000110011100001100011000011000110001110001111111100001111111000000001100011000111000110001100001111110000000111", "9"); CodeKey.Add("111111111001110101000000000011000000001100000000110000000011100000000110000000011100000000110000000001100000000110000000001100000000011000000001100000000001", "7"); CodeKey.Add("111100000011101000001100001000011000010000100000010001000001000011000011000100001010001111111000000101010000000000100011000010000010001000000110110000000101", "9"); CodeKey.Add("101111000011111010000110000000001100000000010000000001111110000001110110000110001000000000001100000000101000000000100011000010000110000110001111111000000111", "5"); CodeKey.Add("111111110001110101000000000001000000001100000000010000000001000000000010000000011000000000010000000001100000000110000000001100000000011000000000100000000011", "7"); CodeKey.Add("111111000011111010000110000000001100000000110000000001111010000011101010000110001000000000001000000000011000000001000011000011000110000110001111111000000101", "5"); CodeKey.Add("111100000011011000001100001000010000010000100000010010000001100010000001000110001100001111110100000011010000000000100001000010000110000100000111010000000111", "9"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110000110001100000000011100000000111000000000100011000011000110001110001111111000000111", "5"); CodeKey.Add("1100000000111000000001110000000111000000011011000001100110000011001000001100110000110001100001100011000111011110101111110101000000110000000001100000000001", "4"); CodeKey.Add("11100000011101000000100001100010000010000000000010000000011000000011010000000110000000000011000000000100000000000100110000011000110001000001111111000000111", "3"); CodeKey.Add("111000000011111000001100011000111000110001100000000011011100001111111100011100011000111000110001100001100011000011000010000110000110011100001111110000001111", "6"); CodeKey.Add("111100000011011100001110010000011000011000110000110011100001100011000011000100001110001111111100000110100000000001100011000011000110001100001111100000001111", "9"); CodeKey.Add("11100000001110100000110000100000000011000110000000001011100000011101110001100001000010000001000110000000000100000100001000010000011000100000111111000000111", "6"); CodeKey.Add("11100000011111100001100001100011000011000110000010000100001000000101000000111111000011100011000110000010000100001000011000011000110001000001110111000000111", "8"); CodeKey.Add("11110000001110100000110000110001100001000000000001000000001100000000001000000001100000000101000000011100000000110000000010000000011110000000011011110001111101", "2"); CodeKey.Add("111111111001111101000000000111000000001000000000110000000011100000000110000000010100000000110000000001100000000010000000001000000000011000000001100000000001", "7"); CodeKey.Add("1110000000111110000011000011000110000000000000001100000000100000000001100000000101000000010100000001110000000111000000011000000001010000000011111111000110011", "2"); CodeKey.Add("11100000001111100000110001100011000011000110000100010100001100110000010001100000100011000001100110000111001100001100011000011000110001100000111100000000111", "0"); CodeKey.Add("11100000001101100000010000100011000010000110000010001000001000110000001001000000110011000000100110000110001100001000011000011000110001100000111100000000111", "0"); CodeKey.Add("111011111001111101000000000011000000001100000000010000000011100000000110000000001000000000110000000001000000000110000000001100000000011000000001000000000011", "7"); CodeKey.Add("111111000011010100000110000000000000000000010000000000111100000011001010000100001100000000000000000000010000000000100011000011000110000100000111101000000101", "5"); CodeKey.Add("1111000000111111000011100011000110000110000000001100000000111000000111100000001110000000001110000000001100000000011001110000110001100011100011111110000001111", "3"); CodeKey.Add("10000000011100000001111000001111100000111111000001110110000010011100000000110000000001100000000011000000000110000000011100000000110000000001100000000011", "1"); CodeKey.Add("11100000001110000000110001000011100011000110000000001101100000111110110000110001000011100010000010000010001100000100011000010000011000110000011111000000011", "6"); CodeKey.Add("11110000001110100000110000110001000001000000000010000000001010000000011000000001010000000101000000011100000001100000000111000000001100000000101111100001110101", "2"); CodeKey.Add("1111000000111111000011100011000110000110001100001100011000110000011111000001111110000111000110001100001100011000011000110000110001100011100011111110000001111", "8"); CodeKey.Add("11100000011111100001110010000011000011000110000110011100001100010000011000110001110001111111100000110100000000001100011000011000110001000001011110000001111", "9"); CodeKey.Add("111111000011101010000100000000001000000000010000000001111110000011001010000100001000000000001000000000000000000000100011000011000110000100000111101000000111", "5"); CodeKey.Add("10000000001100000001110000001110100000111110000001100110000010011000000000110000000001000000000011000000000110000000011000000000100000000001100000000011", "1"); CodeKey.Add("111111011001110111000000000001000000001000000000110000000001000000000010000000001000000000110000000001100000000110000000001100000000010000000000100000000001", "7"); CodeKey.Add("11100000011111100000110000100011000011000110000110000100011000001111100000111111000011100011000110000010001100001000011000011000110001010001111111000000111", "8"); CodeKey.Add("1111000000111010000001000011000100000000001100001100011000100000011101000000111100000011000110001100000100001000011000110000100000100001000001111100000001", "8"); CodeKey.Add("10000000011000000001110000001111100000111111000001100100000010001100000000010000000000100000000011000000000010000000011100000000010000000001000000000011", "1"); CodeKey.Add("11100000001010100000100000100011000010000100000010001000000100110000010000100000100011000000100110000110001000001000011000000000110000100000110110000000011", "0"); CodeKey.Add("1100000000111000000001110000000101000000011111000000100100000010000000001100010000010001100001100011000111111111101111111111000000110000000000100000000011", "4"); CodeKey.Add("1110000001110110000011000010001100001100000000001000000001100000001101000000011100000000000100000000010000000000110010000001000011000010000101110100000111", "3"); CodeKey.Add("1111111000011111110000110000000001100000000111000000001111110000011111110001110001100000000011100000000111000000001110011000011000110001110001111111000000111", "5"); CodeKey.Add("111111100001101101000011000000000110000000010000000000111011000001101011000010000010000000001010000000001100000000010001100001100011000011000111111100000011", "5"); CodeKey.Add("11110000001101010000110000010001100001100000000001000000001100000000001000000001100000000101000000001100000001100000000111000000001100000000111101110000101111", "2"); CodeKey.Add("111100000011111000001100011000111000110001100000000111011100001111111100011100011000111000110001100001110011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("10000000011000000001110000001110100000011110000001100110000010011100000000010000000001100000000011000000000100000000001100000000110000000001000000000011", "1"); CodeKey.Add("10000000011000000001110000001110100000011010000001100110000000001000000000100000000001100000000011000000000100000000011000000000100000000001100000000001", "1"); CodeKey.Add("101000000011110000001100011000101000110001100000000011011100001111110100011100011000101000010000100000100011000011000010000110000010011100001111110000001011", "6"); CodeKey.Add("111101000011011100000110000000001000000000000000000001111110000011110110000100001000000000001000000000000000000000100011000010000110000100000011101000000101", "5"); CodeKey.Add("101111000011111010000110000000001100000000110000000001111110000011111110000110001100000000000100000000111000000000100011000011000110000110001111111000000111", "5"); CodeKey.Add("111100000011101000000110001100011000010000110000010001100011000001111100000001010000001100011000110000000000100001100011000010000110000100000111110000000111", "8"); CodeKey.Add("111100000011111100001110011000011000011001110000110011100001100011000011000110001110001111111100001111110000000001100011000111000110001100001111110000001111", "9"); CodeKey.Add("10100000011110100000110001100011000011000000000100000000011100000011110000000111000000000011000000000100000000001100010000010000110001110001111111000001111", "3"); CodeKey.Add("1111000000011010000011000011000010000100000000000100000000110000000000100000000010000000011100000000010000000111000000011100000001010000000011111111000101101", "2"); CodeKey.Add("1100000000111000000011110000000111100000011111000001100110000011011000001100110000111001100001100011000111111111101111111111000000110000000001100000000011", "4"); CodeKey.Add("10000000001100000001110000000111000000111011000001100110000010011000000000010000000001100000000011000000000110000000001100000000010000000001100000000001", "1"); CodeKey.Add("1100000000101000000011100000000101100000011001000000100100000010011000001100100000100000100001100011000101111010101111111010000000010000000001100000000001", "4"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000000111000000011100000001110000000111000000011110000001110000000111100000001111111100011111111", "2"); CodeKey.Add("110111100001110111000011000000000110000000001000000000111010000001111111000011000110000000001010000000001100000000010001100001100011000011000111111100000011", "5"); CodeKey.Add("111100000011101100000100000100010000011000110000010001100011000001111100000011010000011000011000110000010001100000100010000011000110001100000111110000000011", "8"); CodeKey.Add("111100000011111000001100011000111000110001100000000111011100001111111100011100011000111000111001110001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("111100000010111100000110001100011000001000000000110000000011100000000010000000011100000000110000000111000000011000000001010000000111100000001101101100011110111", "2"); CodeKey.Add("11100000001101000000010001100001000010000110000000001001100000011111100001100000100001000011000110000000001100000100001000010000011000100000111110000000001", "6"); CodeKey.Add("111100000011111000000110001100011000001000000000110000000011100000011010000000111000000000101000000000100000000001100110000011000110001110000111101000000111", "3"); CodeKey.Add("11100000001111100000110000100010000011000110000000001101100000001110110001100001000001000001000110000000001100000100001000011000011000100000111101000000011", "6"); CodeKey.Add("111100000011111000001100011000111000110001100000000011011100001111111100011100011000111000110001100001100011000011000110000110000110011100001111110000001111", "6"); CodeKey.Add("110100000011011100001010001100011000010000000000110000000011100000000101000000010100000001010000000111000000011000000001010000000101100000001111111100011111011", "2"); CodeKey.Add("111100000011101000000110001100011000010000010000010001100011000000110100000011111000001100001000100000110001100000100011000010000110001100000011101000000011", "8"); CodeKey.Add("111100000011111000001100011000111000110001100000000011011100001111111100011100011000111000110001110001110011000011000010000110000110011100001111110000001111", "6"); CodeKey.Add("11100000001111100000110000100011000011000110000010011100001000010000011001100000110001000001100110000110001100001100011000011000110001100000111110000000111", "0"); CodeKey.Add("11100000011101100001100001000011000010000100000010000000001000010000011000100001010001111110100000101010000000001000010000010000110001000000111110000000011", "9"); CodeKey.Add("1100000000111000000000110000000111100000010101000001100110000011000000001100110000010001100001100011000111111111101111010111000000010000000001100000000001", "4"); CodeKey.Add("11100000001010100000010000100001000010000110000000001101100000001011110001110000100001000001000110000010001000000100001000010000001000100000111010000000111", "6"); CodeKey.Add("111111111001111111100000000111000000001100000000110000000011100000000110000000011100000000110000000001100000000110000000001100000000011000000001100000000011", "7"); CodeKey.Add("11100000011110100001110010000011000010000110000110011100001100011000011000100001100000111111000000101110000000001100011000011000110001000001111110000000111", "9"); CodeKey.Add("1111111000011101010000110000000001000000000010000000001110110000011110110000100001000000000001000000000000000000000100011000010000110000100000111101000000111", "5"); CodeKey.Add("1110000000111010000011000100001100001100011000011001010000100011000001100110000001001100000110011000010100110000110001100000100011000010000011111000000001", "0"); CodeKey.Add("1110000000110110000001000010001100001000010000001000100000100011000000100110000010001100000010001000011000110000010001100001000011000010000011111000000011", "0"); CodeKey.Add("111110111001110111000000000011000000001100000000100000000011100000000110000000001100000000110000000001100000000110000000001100000000011000000001100000000011", "7"); CodeKey.Add("11111011100111111000000000001100000000100000000001000000000110000000010000000000100000000011000000000110000000011000000000110000000001100000000010000000001", "7"); CodeKey.Add("11100000011111100001110001100011000011000000000110000000001100000010100000000111000000000011000000000110000000001100110000001000110000110000111111000001111", "3"); CodeKey.Add("10000000001000000001110000000110100000110011000001100100000000011000000000000000000001100000000011000000000110000000001000000000110000000001100000000011", "1"); CodeKey.Add("111100000011111100001110001100011000011000000000110000000011100000001111000000011100000001110000000111100000011110000001110000000111100000001111111100011111111", "2"); CodeKey.Add("11100000001110100000110001100011000001000110000110011100001100010000011001100000110011000001100110000101001100001000001000001000110001100000111110000000101", "0"); CodeKey.Add("1100000000110000000001010000000101000000011011000001100100000010001000001100000000110001100001100010000010111111101111010010000000110000000001000000000011", "4"); CodeKey.Add("111111111011111111100000000111000000001100000000110000000011100000000110000000011100000000110000000001100000000110000000001100000000011000000001100000000011", "7"); CodeKey.Add("101000000011110000001100011000111000010001100000000011011100000111111100011100010000011000010001100000100011000011000110000110000110001100001010110000001101", "6"); CodeKey.Add("111111101001110101100000000001000000001100000000110000000001000000000110000000000000000000110000000001100000000110000000001100000000011000000000100000000011", "7"); CodeKey.Add("11100000001110100000110001100011000001000010000100011100000100010000011001100000110011000001100110000110001100001100011000011000110001100000111100000000101", "0"); CodeKey.Add("11110000001110110000110000010001000001100000000010000000001010000000001000000001110000000101000000011100000001010000000111000000011100000000101111100001101101", "2"); CodeKey.Add("1111111000011001010000110000000001100000000010000000001101110000011110110000110001100000000001100000000010000000001100011000001000110000110001011101000000111", "5"); CodeKey.Add("100000000110000000001010000000101100000011010000001100100000010001000001000100000010001100001100010000011111011101011101010000000110000000001000000000011", "4"); CodeKey.Add("111111111001111111100000000011000000001100000000110000000011100000000110000000011100000000110000000001100000000110000000001100000000011000000001110000000011", "7"); CodeKey.Add("1111111000011111000000010000000001100000000010000000001111110000001111110000110001100000000010100000000011000000001100011000011000110000110001111111000000111", "5"); CodeKey.Add("11100000001101000000100001100001000010000010000000001101100000011111110001110000100001000001000110000010000100001100001000010000011000100000101110000000111", "6"); return CodeKey; } static public string GetHtmlData(string url, string poststr,string mblno) { Dictionary CodeKey =GetCodeData(); var result = ""; TimeSpan ts = DateTime.Now - DateTime.Parse("1970-1-1"); string strtime = ts.TotalMilliseconds.ToString(); strtime = strtime.Substring(0, strtime.IndexOf(".")); HttpHelperX2 ShippHttp = new HttpHelperX2(); bool trancode = false; string codestr1 = ""; string codestr2 = ""; string codestr3 = ""; string codestr4 = ""; int i = 0; while (!trancode) { string code1 =""; string code2 =""; string code3 =""; string code4 =""; try { Image img = ShippHttp.GetAndGetBitmap("http://www.yydy.com/dyxt/BasicService/CreateCheckCode.aspx?" + strtime, "", url, true); UnCodebase Amp = new UnCodebase(img as Bitmap); Bitmap bitmap = (Bitmap)img.Clone(); bitmap = Amp.GrayByPixels(); //Amp.GetPicValidByValue(128, 4); Amp.ClearNoise(128, 1); bitmap = Amp.ReSetBitMap(); bitmap = CutMap(bitmap); Bitmap[] pics = SplitImg(bitmap, 4, 1); code1 = Amp.GetSingleBmpCode(pics[0], 100); code2 = Amp.GetSingleBmpCode(pics[1], 100); code3 = Amp.GetSingleBmpCode(pics[2], 100); code4 = Amp.GetSingleBmpCode(pics[3], 100); code1 = CutStr(code1); code2 = CutStr(code2); code3 = CutStr(code3); code4 = CutStr(code4); trancode = true; } catch { trancode = false; } i = i + 1; try { codestr1 = GetCode(code1, CodeKey); } catch { trancode = false; continue; } try { codestr2 = GetCode(code2, CodeKey); } catch { trancode = false; continue; } try { codestr3 = GetCode(code3, CodeKey); } catch { trancode = false; continue; } try { codestr4 = GetCode(code4, CodeKey); } catch { trancode = false; continue; } if ((codestr1 == "") || (codestr2 == "") || (codestr3 == "") || (codestr4 == "")) { trancode = false; } var poststrAll =""; var murl = "http://www.yydy.com/dyxt/BasicService/QueryService.aspx?" + strtime + "&oper=QueryByBill¶m=" + mblno + "&CheckCode=" + codestr1 + codestr2 + codestr3 + codestr4; var refurl = "http://www.yydy.com/dyxt/Query/QueryMainFrame.aspx?type=B&value=" + mblno + "&code=" + codestr1 + codestr2 + codestr3 + codestr4; result = ShippHttp.GetAndGetHtml(murl, "application/x-www-form-urlencoded", refurl, true, Encoding.UTF8); if (result.Trim() != "OK") trancode = false; else trancode = true; if (i == 12) trancode = true; } var refurl2 = "http://www.yydy.com/dyxt/Query/QueryMainFrame.aspx?type=B&value=" + mblno + "&code=" + codestr1 + codestr2 + codestr3 + codestr4; var murl2 = "http://www.yydy.com/dyxt/Query/ExportByBill.aspx?s_no=" + mblno; result = ShippHttp.GetAndGetHtml(murl2, "application/x-www-form-urlencoded", refurl2, true, Encoding.UTF8); //var murl3 = "http://www.yydy.com/dyxt/Query/ExDetailByBill.aspx?s_ref="+strtime; //result = ShippHttp.GetAndGetHtml(murl3, "application/x-www-form-urlencoded", refurl2, true, Encoding.UTF8); return result; } } }