Пример #1
0
        /// <summary>
        /// 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.
        /// 这个函数可以查找多个图片,并且返回所有找到的图像的坐标.这个函数要求图片是数据地址.
        /// (由于内存限制,返回的图片数量最多为1500个左右)
        /// </summary>
        /// <param name="dmsoft"></param>
        /// <param name="findPic"></param>
        /// <returns></returns>
        public static List <Point> FindPicMemEx(this dmsoft dmsoft, FindPicMemEx findPic)
        {
            List <Point> points = new List <Point>();
            var          s      = dmsoft.FindPicMemEx(findPic.X1, findPic.Y1, findPic.X2, findPic.Y2, findPic.PicInfo, findPic.DeltaColor, findPic.Sim, findPic.Dir);

            string[] arr1;
            string[] arr2;
            if (!string.IsNullOrWhiteSpace(s))
            {
                arr1 = s.Split('|');
                foreach (var item in arr1)
                {
                    arr2 = item.Split(',');
                    points.Add(new Point(int.Parse(arr2[1]), int.Parse(arr2[2])));
                }
            }
            return(points);
        }