洛谷冬日绘板那些事

前言

洛谷的冬日绘板从去年开始,今年是第二次了

去年其实没玩出什么来,今年我和 gavinzheng 联手自动画脚本正在画一个校徽上去

效果

校徽

脚本

参考的是去年 github 的开源脚本 Enter-tainer.

见这个大佬的博客

今年的参数比去年多了一个 _uid,得加上才行

发送请求的时候要添加用户代理的报头,不然要被 401

www.luogu.org/paintBoard/Board 变成了 www.luogu.org/paintBoard/board

另外,在处理 cookies 的时候,不能注销账号,不然 cookies 会销毁。用 chrome 无痕模式登录,然后直接关就行

PPM 与 LuoguBoard

如何将图片参数转为像素信息呢?这里引入 PPM 文件

这是一种对文本读取友好的文件类型,它把图像的每个像素点用 RGB 三元组表示 见官方文档.

那么我们用 GIMP 将图片转为 PPM 格式,这就能进一步方便我们的实现

不过,洛谷的绘板不是 256 位颜色都有,它只有 32 个颜色选项,分别对应 0-9 和 a-t 的标号 详见 /board.

因此,我们需要将图片的 RGB 三元组找到与这给定的 32 个 RGB 三元组中颜色最相近的一个,并替换为这个颜色对应的标号

所以我们不是直接用 PPM 文件执行这个脚本,而是要稍微转一下 PPM 变成 LuoguBoard 的 “专用格式” 才行

当然,这一切的调试都基于浏览器的开发者模式(笔者使用 chrome+F12)

项目

2019 冬日绘板 Github.


 上一篇
CFGoodBye2018 CFGoodBye2018
CF1091B平均数一下 #include<cstdio> #include<iostream> #define int long long using namespace std; int n,x,y; signed main
2018.12.31
下一篇 
网络流入门之最大流 网络流入门之最大流
摘要 网络流是强有力的图论算法之一,其算法本身不难,但是所解决的问题却千变万化。简而言之,网络流的难点在于建模。本文则注重讲解网络流的最大流算法。 2019.6.14:收编精选文章。 网络网络是指一个有向图 . 每条边
2018.12.21
  目录