Exemplo n.º 1
0
        /// <summary>
        /// 获取窗口客户区尺寸
        /// </summary>
        /// <param name="name">抓图服务名称</param>
        /// <param name="clientRect">输出的窗口客户区尺寸</param>
        /// <returns>true成功,false失败</returns>
        public bool GetClientRect(string name, out Win32Types.Rect clientRect)
        {
            var ret = !string.IsNullOrEmpty(name) && _dicCaptureHelper.ContainsKey(name);

            clientRect = ret ? _dicCaptureHelper[name].ClientRect : new Win32Types.Rect();
            return(ret);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取抓图
        /// </summary>
        /// <param name="name">抓图服务名称</param>
        /// <param name="bitsPtr">位图指针</param>
        /// <param name="bufferSize">位图数据大小</param>
        /// <param name="texSize">位图尺寸</param>
        /// <returns>true成功,false失败</returns>
        public bool Capture(string name, out IntPtr bitsPtr, out int bufferSize, out Win32Types.Rect texSize)
        {
            if (string.IsNullOrEmpty(name) || !_dicCaptureHelper.ContainsKey(name))
            {
                bitsPtr    = IntPtr.Zero;
                bufferSize = 0;
                texSize    = new Win32Types.Rect();
                return(false);
            }

            return(_dicCaptureHelper[name].Capture(out bitsPtr, out bufferSize, out texSize));
        }
Exemplo n.º 3
0
        public bool Capture(out IntPtr bitsPtr, out int bufferSize, out Win32Types.Rect rect)
        {
            bitsPtr    = IntPtr.Zero;
            bufferSize = _bmpDataSize;
            rect       = WinClientRect;

            if (HBitmap.Equals(IntPtr.Zero) || HMemDc.Equals(IntPtr.Zero) || HScrDc.Equals(IntPtr.Zero))
            {
                return(false);
            }

            return(DoCapture(out bitsPtr));
        }