Red de conocimiento informático - Aprendizaje de código fuente - Cómo llamar fácilmente al idioma del desierto para obtener el valor de retorno de las coordenadas de la palabra encontrada

Cómo llamar fácilmente al idioma del desierto para obtener el valor de retorno de las coordenadas de la palabra encontrada

Introducción a la función: busque una cadena (puede ser cualquier combinación de cadenas) dentro del rango de la pantalla (x1, y1, x2, y2) y devuelva la posición de las coordenadas que se ajuste a color_format, similar a la descripción de la interfaz Ocr. (La búsqueda de varios colores y colores diferenciales es similar a la interfaz Ocr y no se describirá en detalle) Los lenguajes simples que no pueden usar FindStr pueden usar esta interfaz en lugar del prototipo de función:

cadena

FindStrE(x1,y1,x2,y2,string,color_format,sim) Definición de parámetros:

x1 entero x1 entero: coordenada X de la esquina superior izquierda de la región

y1 entero: coordenada Y de la esquina superior izquierda de la región

x2

número plástico: la coordenada X de la esquina inferior derecha del área

entero y2: la coordenada Y de la esquina inferior derecha del área

cadena cadena: el carácter a buscar Una cadena puede ser una combinación de varias cadenas, como "Chang'an | Luoyang | Gran Pagoda del Ganso Salvaje" con "|" en el medio. Utilice "|" para dividir la cadena

cadena color_format: cadena de formato de color,

puede contener delimitadores de nueva línea, la sintaxis es ",", seguida de la cadena dividida. Vea el ejemplo a continuación. Tenga en cuenta que se admiten los formatos RGB y HSV.

número de coma flotante de doble precisión sim: similitud, rango 0.1-1.0

Valor de retorno: Cadena:

Devuelve el número de la cadena y las X e Y coordenadas, en el formato "id|x|y", por ejemplo: "0|100|200", "0|100|200", "0|100|200", "0|100|200", " p>pos =

dm.FindStrE(0,0,2000,2000, "Changan", "9f2e3f-000000",1.0)

pos =

split(pos ,"|")

Si int(pos(0)) >= 0 Entonces

dm.MoveTo int(pos(1)),int(pos( 2))

Fin

Si pos =

dm.FindStrE(0,0,2000,2000), "Changan", "9f2e3-00f0000" ,1.FindStrE (0,0,2000,2000, "Chang'an|Luoyang", "9f2e3f-000000",1.0)

ppos =

split(pos," |")

Si int(pos(0)) >= 0 Entonces

dm.MoveTo int(pos(1)),int(pos(2))

Fin

If /// Cuando busque un carácter de nueva línea, ajuste varias líneas de texto. El separador de nueva línea es "|". MoveTo int(pos(1)),int(pos(2))

End

If Nota:

El principio de esta función es reconocer. Ocr primero y luego buscar. Por lo tanto, la velocidad será más lenta que FindStrFastE, especialmente cuando la fuente es muy grande o la borrosidad no es 1.0. Generalmente, cuando el número de caracteres de fuente es inferior a 100 y la borrosidad es 1.0, use. FindStrE más rápido; de lo contrario, utilice FindStrFastE

.