Exemple #1
0
 /// <summary>
 /// 打开卡
 /// </summary>
 public bool OpenCard()
 {
     if (isOpened)
     {
         return(true);
     }
     try
     {
         int i = 0;
         cardHandle = OK.okOpenBoard(ref i);
         bits       = OK.okSetCaptureParam(cardHandle, 4, -1);
         size       = OK.okSetCaptureParam(cardHandle, 6, -1);
         size       = this.GETHIWORD(bits) / 8 * this.GETHIWORD(size) * this.GETLOWORD(size);
         OK.okGetTargetInfo(cardHandle, 1, 0, ref width, ref height, ref stride);
         OK.okSetConvertParam(cardHandle, "CONVERT_FIELDEXTEND", -1);
         OK.okSetCaptureParam(cardHandle, 15, 0);
         OK.okSetCaptureParam(cardHandle, 4, -1);
         OK.okSetCaptureParam(cardHandle, 6, -1);
         OK.okSetCaptureParam(cardHandle, 1, 0);
         OK.okSetSeqCallback(cardHandle, ok.begin, ok.seq, ok.end);
         OK.okCaptureByBuffer(cardHandle, 1, 0, 0);
         isOpened = true;
     }
     catch
     {
         MessageBox.Show(ok.lastError().ToString());
         return(false);
     }
     return(true);
 }
Exemple #2
0
 /// <summary>
 /// 初始化
 /// </summary>
 public bool initCard()
 {
     ok       = new OK();
     ok.begin = new OK.BeginProc(beginproc);
     ok.seq   = new OK.SeqProgress(seqprogress);
     ok.end   = new OK.EndProc(endproc);
     return(true);
 }
Exemple #3
0
 /// <summary>
 /// 关闭卡
 /// </summary>
 public bool CloseCard()
 {
     if (!isOpened)
     {
         return(true);
     }
     try
     {
         OK.okSetSeqCallback(cardHandle, null, null, null);
         isOpened = false;
         ok.CloseBoard(cardHandle);
     }
     catch
     {
         MessageBox.Show(ok.lastError().ToString());
         ok.CloseBoard(cardHandle);
         return(false);
     }
     return(true);
 }
Exemple #4
0
        public bool seqprogress(IntPtr hBoard, int No)
        {
            OK.okReadRect(hBoard, 1, No, a);
            switch (this.GETHIWORD(bits))
            {
            case 8:
                bm = new Bitmap(width, height, stride, System.Drawing.Imaging.PixelFormat.Format8bppIndexed, a);
                //创建灰阶
                palette = bm.Palette;
                for (int i = 0; i < palette.Entries.Length; i++)
                {
                    palette.Entries[i] = Color.FromArgb(i, i, i);
                }
                bm.Palette = palette;
                break;

            //case 32:
            //    bm = new Bitmap(width, height, stride, System.Drawing.Imaging.PixelFormat.Format32bppArgb, a);
            //    break;
            case 24:
                bm = new Bitmap(width, height, stride, System.Drawing.Imaging.PixelFormat.Format24bppRgb, a);
                break;

            case 16:
                bm = new Bitmap(width, height, stride, System.Drawing.Imaging.PixelFormat.Format16bppRgb565, a);
                break;

            default:
                MessageBox.Show("没找到卡!");
                ok.CloseBoard(cardHandle);
                break;
            }
            GetCallBackEventHandler temp = GetCallBack;

            if (temp != null)
            {
                temp(bm);
            }
            return(true);
        }
Exemple #5
0
//		public long ReadRect(IntPtr hBoard, int src, long start, byte[] lpBuf)
//		{
//			return ok.okReadRect(hBoard,src,start,lpBuf);
//		}

        public long WriteRect(IntPtr hBoard, int dest, long start, byte[] lpBuf)
        {
            return(OK.okWriteRect(hBoard, dest, start, lpBuf));
        }
Exemple #6
0
 public long LoadImageFile(IntPtr hBoard, string szFileName, int first, long target, int start, int num)
 {
     return(OK.okLoadImageFile(hBoard, szFileName, first, target, start, num));
 }
Exemple #7
0
        public void CloseBoard(IntPtr hBoard)
        {
//			ok.okStopCapture(hBoard);
            OK.okCloseBoard(hBoard);
        }
Exemple #8
0
 public bool SetSeqCallback(IntPtr hBoard, BeginProc beginproc, SeqProgress seq, EndProc endproc)
 {
     return(OK.okSetSeqCallback(hBoard, beginproc, seq, endproc));
 }
Exemple #9
0
 public bool CaptureTo(IntPtr hBoard, int target, long wParam, int lParam)
 {
     return(OK.okCaptureTo(hBoard, target, wParam, lParam));
 }
Exemple #10
0
 public bool SetToWndRect(IntPtr hBoard, IntPtr hWnd)
 {
     return(OK.okSetToWndRect(hBoard, hWnd));
 }
Exemple #11
0
 public long SetTargetRect(IntPtr hBoard, int target, int lpTgtRect)
 {
     return(OK.okSetTargetRect(hBoard, target, lpTgtRect));
 }
Exemple #12
0
        public long lastError()
        {
            long a = OK.okGetLastError();

            return(a);
        }
Exemple #13
0
        public IntPtr OpenBoard(int i)
        {
            IntPtr a = OK.okOpenBoard(ref i);

            return(a);
        }