此时的图片不单单有轮廓, 还有光影效果, 也就是素描中提及的黑白灰.
原理实际上挺简单的, 在白色背景下, 字符 $ 会有比较大面积的黑, 而字符 + 相对就淡了很多, 毫无疑问, 空格就是纯白了....可以照着链接在自己电脑跑一下, 制作一些白色背景的表情包, 但如果是照片的话会发现很糊, 根本看不清, 于是我拿出神器 Photoshop 调整了 亮度 和 对比度, 尽量调高点, 生成的图案会清晰一些...Lab颜色空间中的L分量用于表示像素的亮度, 最小值是0(纯黑), 最大值是100(纯白), 而a表红绿, b表黄蓝. 我们需要的是灰度值算法, 所以只需L分量就可以了....ASCII字符, 接下来要解决一个问题, 调整图像的亮度和对比度, 同样也是有公式的, 参考链接:
bitmap() {
return this.data.map((x, i) => {
if..., 转换为 RGB 值, 加上亮度对比度, 宽度高度的变换, 就大功告成了:
onchange() {
const files = document.getElementById('file').files