

设备:雷电模拟 540*960
说一下基本原理:
(1)先把字母按照字体本身的“空间占有率”安排序号
WMKG98BHEFNARPQDO0653SCVXYZTLJVdbghfk742Iqpmweaxtszounycvrjli;:.,
(2)获取参考图片的颜色亮度0-765
(3)每一个亮度对应一个字母符号,由于字母和符号数量不够700多,所以一个字母符号占多个颜色亮度。
(4)遍历整个图片的颜色亮度,并匹配到对应的字母符号
(5)按照行写入到文本中
注意:由于文本直接显示的字数有限,所以在遍历图片的时候,数量不宜过多,可以间隔几个取一个点。同时注意长宽比例。
代码如下:
- Dim zm="WMKG98BHEFNARPQDO0653SCVXYZTLJVdbghfk742Iqpmweaxtszounycvrjli;:.,"
 
- Dim k,d,m
 
- file.Write("/sdcard/pictures/0.txt")
 
- KeepCapture
 
- For j = 840 To 153 step -8
 
-     k=""
 
-     For i = 0 To 540 step 5
 
-         dim GetColor = GetPixelColor(i, j)
 
-         dim ys = ColorDiff(GetColor, "000000")
 
-         If ys > 700 Then 
 
-             d = " "
 
-             k=k&d
 
-         Else 
 
-             m = Int(ys mod 11)
 
-             d=utf8.StrGetAt(zm,m+1)
 
-             k=k&d
 
-         End If
 
-     Next
 
-     file.WriteLine("/sdcard/pictures/0.txt",1,k)
 
- Next
 
- ReleaseCapture
 
 复制代码