autojs之选择指定区域

简介: 使用情景为了展示ocr的识别效果, 要把识别的文字圈起来, 并且显示识别到的文字

使用情景


为了展示ocr的识别效果, 要把识别的文字圈起来, 并且显示识别到的文字


效果展示

微信图片_20220624130601.jpg

原理


  1. 加载一个屏幕大小的悬浮窗
  2. 悬浮窗只有一个canvas控件
  3. 用canvas画出数据


代码讲解


  1. 悬浮窗布局
var window = floaty.rawWindow(
  <frame gravity="center">
    <canvas id="board"></canvas>
  </frame>
);


  1. 调整悬浮窗大小, 充满屏幕
window.setSize(-1, -1);


  1. 让悬浮窗一直显示
setInterval(function () {}, 1000);


  1. 创建两支画笔, 一个画矩形, 一个画文字
let rectanglePaint = new Paint();
rectanglePaint.setStrokeWidth(3);
rectanglePaint.setColor(colors.parseColor("#00ff00"));
rectanglePaint.setStyle(Paint.Style.STROKE); //空心矩形框
let textPaint = new Paint();
textPaint.setTextAlign(Paint.Align.CENTER);
textPaint.setTextSize(50);
textPaint.setStyle(Paint.Style.FILL);
textPaint.setColor(colors.parseColor("#f000ff"));


  1. 文字高度
let fontMetrics = textPaint.getFontMetrics();


  1. 测试的数据
let data = {
  rect: [100, 100, 200, 200],
  content: "hello world",
};


  1. 画出矩形和文字
window.board.on("draw", function (canvas) {
  let rect = data.rect;
  canvas.drawRect(rect[0], rect[1], rect[2], rect[3], rectanglePaint);
  canvas.drawText(
    data.content,
    rect[0] + parseInt((rect[2] - rect[0]) / 2),
    rect[3] + Math.abs(fontMetrics.top),
    textPaint
  );
});


代码仓库:


https://gitee.com/yashujs/autojs-ocr








相关文章
|
3月前
|
缓存 Android开发
基于autojs7的皮皮虾极速版辅助
基于autojs7的皮皮虾极速版辅助
49 1
|
3月前
|
缓存 Android开发
基于autojs7的元宝视频极速版辅助
基于autojs7的元宝视频极速版辅助
32 0
|
3月前
|
缓存 Android开发
基于autojs7的爆音极速版辅助
基于autojs7的爆音极速版辅助
35 0
|
3月前
AutoJs4.1.0实战---部局范围次分析(带图)
AutoJs4.1.0实战---部局范围次分析(带图)
75 0
|
前端开发 数据可视化 测试技术
autojs裁剪找图
牙叔教程 简单易
258 0
|
3月前
基于autojs7的筷子免费小说辅助
基于autojs7的筷子免费小说辅助
25 1
|
3月前
|
区块链
基于AutoJs4实现的陀螺世界辅助
基于AutoJs4实现的陀螺世界辅助
44 0
|
前端开发 测试技术 Android开发
autojs显示指定区域
牙叔教程 简单易懂
238 0
|
调度 Android开发 容器
autojs边缘菜单
牙叔教程 简单易懂
250 0
|
数据可视化
autojs可视化控件位置
牙叔教程 简单易学 使用场景
313 0
autojs可视化控件位置