//上面代码不完整
Function Splits(str)
Dim arr()
For i = 1 To utf8.len(str)
arr(i - 1) = utf8.Mid(str, i, 1)
Next
Splits=arr
End Function
function 分割x(x1,y1,x2,y2,颜色,相似度,噪音)
/*
功能:垂直投影分割,分割成n个范围
参数:x1,y1,x2,y2:分割范围
颜色:支持多个颜色"|"偏色"-"
相似度:颜色相似度
噪音:符合颜色高于噪音才会分割
返回值:二维数组:格式:返回值(x1y1x2y2,索引)
返回值(0,0)是分割范围的数量,也就是最大下标
*/
Dim 颜色数量,xx,yy,xx1,yy1,起点,终点,intx,inty,intxx,intyy
dim 起点1,终点1,x11,y11,范围(3,0)
dim n=1
dim m=","
if x1=0 and y1=0 and x2=0 and y2=0 then
x2 =GetScreenX()
y2 = GetScreenY()
end if
起点1=0
终点1=0
起点=0
终点=0
for i=0 to x2-x1
颜色数量 = GetColorNum(x1, y1, x1, y2, 颜色,相似度)
if 颜色数量>噪音 and 起点=0 then
起点=1
xx=x1
elseif 颜色数量<=噪音 and 起点=1 then
终点=1
xx1=x1-1
end if
if 起点=1 and 终点=1 then
FindColor(xx,y1,xx1,y2, 颜色,0, 相似度, intX, intY)
FindColor(xx,y1,xx1,y2, 颜色,2, 相似度, intxX, intyY)
范围(0,n)=xx:范围(1,n)=inty:范围(2,n)=xx1:范围(3,n)=intyy
n=n+1:起点=0:终点=0
end if
x1=x1+1
next
范围(0,0)=n-1
分割x=范围
end function
function 分割yx(x1,y1,x2,y2,颜色,相似度,噪音)
Dim 颜色数量,xx,yy,xx1,yy1,起点,终点,intx,inty,intxx,intyy
dim 起点1,终点1,x11,y11,范围(3,0)
dim n=1
dim m=","
if x1=0 and y1=0 and x2=0 and y2=0 then
x2 =GetScreenX()
y2 = GetScreenY()
end if
起点1=0
终点1=0
起点=0
终点=0
for i=0 to y2-y1
颜色数量 = GetColorNum(x1, y1, x2, y1, 颜色,相似度)
if 颜色数量>噪音 and 起点=0 then
起点=1
yy=y1
elseif 颜色数量<=噪音 and 起点=1 then
终点=1
yy1=y1-1
end if
if 起点=1 and 终点=1 then
dim 返回结果=分割x(x1,yy,x2,yy1,颜色,相似度,噪音)
for k=1 to 返回结果(0,0)
范围(0,n)=返回结果(0,k):范围(1,n)=返回结果(1,k):范围(2,n)=返回结果(2,k):范围(3,n)=返回结果(3,k)
n=n+1
next
起点=0
终点=0
end if
y1=y1+1
next
范围(0,0)=n-1
分割yx=范围
end function
function 输出(内容)
Dim 路径
路径 = "/sdcard/调试.txt"
'Dir.Delete(路径)
if IsArray(内容)=true then
for each s in 内容
File.Append 路径, "\n"&s
next
else
TracePrint 内容
File.Append 路径, "\n"&内容
end if
end function