/// <summary> /// 在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述. /// (多色, 差色查找类似于Ocr接口, 不再重述) /// 易语言用不了FindStrFast可以用此接口来代替 /// /// 注: 此函数比FindStrExS要快很多,尤其是在字库很大时,或者模糊识别时,效果非常明显。 /// 推荐使用此函数。 /// /// 另外由于此函数是只识别待查找的字符,所以可能会有如下情况出现问题。 /// /// 比如 字库中有"张和三" 一共3个字符数据,然后待识别区域里是"张和三",如果用FindStrExS查找 /// "张三"肯定是找不到的,但是用FindStrFastExS却可以找到,因为"和"这个字符没有列入查找计划中 /// 所以,在使用此函数时,也要特别注意这一点。 /// </summary> /// <param name="dmsoft"></param> /// <param name="findStr"></param> /// <returns></returns> public static List <StrPoint> FindStrFastExS(this dmsoft dmsoft, FindStrFastExS findStr) { List <StrPoint> points = new List <StrPoint>(); var res = dmsoft.FindStrFastExS(findStr.X1, findStr.Y1, findStr.X2, findStr.Y2, findStr.String, findStr.ColorFormat, findStr.Sim); if (string.IsNullOrWhiteSpace(res)) { return(points); } else { string[] arr1 = res.Split('|'); string[] arr2; foreach (var item in arr1) { arr2 = item.Split(','); points.Add(new StrPoint(arr2[0], int.Parse(arr2[1]), int.Parse(arr2[2]))); } return(points); } }