APBot是一个基于JavaScript编写的自动绘制脚本,用于在https://wolfchen.top/pix/index.php
公共画板上自动绘制出制定内容。
程序将通过算法(见注释)计算图片中每个像素与网站提供的27种画笔颜色的色差,最小值的颜色id将被设置为最终绘制颜色。
此程序需要运行浏览器。绘制过程不会影响浏览器正常使用,但是尽量让程序所处的页面保持激活,否则可能会掉线。
APBot:Automatic Painting Bot
快速说明(两句话): 在 Google Chrome 浏览器,以代码段的形式运行。运行后会弹出文件选择框,选择尺寸不超过代码所写的最大值即可。
注意:如果图片中的某个像素的颜色为#0a9a38
(或10,154,56
),那么这个像素将不会被绘制。
-
- 打开网站,按下
F12
键,点击源代码/来源
选项卡。在左侧的区域中,点击上方的代码段
选项卡,如果没有显示,点击右侧的>>
展开按钮就能看到。
- 打开网站,按下
-
- 点击左侧选项卡中的
新代码段
按钮,Chrome会在下方的列表中新建一个代码段,并将右侧的选项卡切换到这个新的。将光标聚焦到右侧的编辑框内,粘贴apbot.js
内的所有代码,并按下Ctrl+S
组合键保存。
- 点击左侧选项卡中的
-
- 将编辑框滚动到最顶端,找到以下代码(大概在第10~20行之间),其中的
x
和y
按照个人需求修改。其中的x
和y
将是要绘制的图片的起始点。
- 将编辑框滚动到最顶端,找到以下代码(大概在第10~20行之间),其中的
/*↓↓↓↓↓↓↓↓↓↓ 您只需要更改此处 ↓↓↓↓↓↓↓↓↓↓*/
var imgStartPoint = { x: 400, y: 0 }; // 绘制起点
/*↑↑↑↑↑↑↑↑↑↑ 您只需要更改此处 ↑↑↑↑↑↑↑↑↑↑*/
-
- 在编辑框中,按下
Ctrl+Enter
键。或者右击左侧列表的代码段名称,点击运行
按钮。
- 在编辑框中,按下
-
- 浏览器将立即弹出一个文件选择框,选择你要绘制的图片,注意格式。尺寸不能超过横410px,纵300px,除非你修改了代码,否则图片将被切裁。
-
- 在数秒钟后,你可以在控制台中看到快速滚动的文本。这表示程序运行正常。
注: 在最顶端的选项卡中,切换到控制台
选项卡。在此你可以查看实时进度。
如果你想屏蔽使用鼠标缩放时的控制台输出,请在过滤
编辑框填入-url:https://wolfchen.top/pix/js/e-smart-zoom-jquery.js
。
使用手机浏览器查看,字符可能会错位。
ADD PIX:: [402,373][0] at [17:15:12], id=[6868], Percentage=[64.91%], total=[10580]
↑ ↑ ↑ ↑ ↑ ↑ ↑
| | | | | | └-------- 要绘制的像素总量
| | | | | └------------------------ 完成率
| | | | └-------------------------------------------- 当前像素的序号
| | | └-------------------------------------------------------- 当前像素的绘制时间
| | └------------------------------------------------------------------- 当前像素的颜色ID
| └----------------------------------------------------------------------- 当前像素的y坐标
└--------------------------------------------------------------------------- 当前像素的x坐标
如果图片载入成功,将会显示以下文本。第二句话说明了在图片(1,1)位置的像素颜色。
APBot:: Image read successfully! Color at (1,1) is rgb(255,255,255)
如果某个像素的颜色为#0a9a38
(或10,154,56
),那么这个像素将不会被绘制。
最好不要使用jpg
等有损压缩格式。根据作者测试,使用Photoshop CC 2019 (Release 20.0.0)
对一张图片的背景进行修改,目的是在绘制时排除背景。当我导出为jpg格式后,在图片主体的边缘处,出现了很多人眼无法识别的杂色。这些杂色被程序转换为了颜色id并绘制了出来。