热文推荐:

  • 尘埃落定!清华才子王垠加入华为职级22,前阿里P10赵海平加入字节跳动,职级或为4+

  • 百度网盘“破解版”,Pandownload开发者被抓

作者:鱼羊 白交 来自:量子位(ID:QbitAI)

有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?!

它是这样的:

不是简单的灰度字符画!也不是控制台控制颜色!而是在唱、跳、rap的代码!

连肩带,都是有灵魂的。

这样的作品,来自B站UP主NyeJu。他利用代码编辑器为不同关键词显示不同的颜色的原理,生成代码,然后滑动形成视频。

这项技术的关键在于:

在正确的位置上放上符合规范的代码,显示不同的颜色。

也就是说,整个操作纯人工打造!

并且,这份代码是可以编译通过的,0 error:

一经发出,网友纷纷表示:希望编译器没事。

还有盆友说:希望肝没事。

12万行代码你太美

当然也有盆友发出了这样的惊叹:纯手敲?!UP太强了!

不过UP主虽是真·肝帝无疑,但还没有魔鬼到这个地步。

UP主也简单介绍了一下自己的操作思路。

首先,选择一个配色主题,比如UP主用的是Code Blue,并且需要获取每一种关键词的颜色。

然后,把原视频切分成一堆图片,识别每张图片的像素,匹配到最相近的关键词颜色上,记录下(颜色,长度)。

根据(颜色,长度)生成对应的代码。这涉及到两个步骤:

  • 定义一系列的pattern,比如「粉、红、白」就是声明,「灰、透明」就是注释;

  • 用pattern去匹配(颜色,长度),匹配成功就进行转换。

而UP主的这个视频能做到如此流畅,是因为他为原视频的每一帧都生成了代码。

最后,让这12万行代码滑动起来,开头那般的唱、跳、rap视频就制作成功了。

即便如此,B站现场的小伙伴们还是嗅到了爆肝的气息,比如评论区就有5级号提供了一个清新的思路:没用专业团队当素材,可能是因为UP肝了一整年。

于是,带着小伙伴们的好奇采访了一下UP主NyeJu本人。

NyeJu表示,整个项目的完成其实只用了大概一周多的时间,毕竟12万行代码不是手敲,而是生成的。

另外,NyeJu也解释说,没有选择现在更火的其他素材,是因为蔡徐坤的素材比较干净,颜色数量也比较适中。

其他的素材都不是很合适,比如像「黑人抬棺」颜色就有点多,「bad apple」的话又太少。(本人对蔡徐坤没有任何恶意。)

评论区也有盆友补充解释了一下其中的难点:可以编译通过我惊了。

对此,NyeJu说,其实项目一开始的底线就是能够编译通过,否则的话,VS Code的代码高亮会抽风。原理还是基于语法规则,比如const和static可以无限叠加,标识符和字符串可以任意长,根据这些去构造想要的颜色的长度。

One More Thing

所以,为什么会开这样一个脑洞?

在采访中,NyeJu也给出了答案:

是受「何同学」最新一个视频——《我用一万行备忘录做了个动画…》的启发,想做一个更厉害一点的。

另外,虽然展示给大家的代码是C++,NyeJu本人其实在日常的coding中用Python多一点,这个项目的C++代码也是用Python生成的。

最后,奉上完整视频~

如有收获,欢迎「分享 

「点赞「评论 

看完本文有收获?请转发分享给更多人

  开发者全社区 

5T技术资源大放送!包括但不限于:Android,Python,Java,大数据,人工智能,AI等等。关注公众号后回复「2T」,即可免费获取!

有点厉害!用12万行代码堆出来个蔡徐坤,关键是能跑能跳!相关推荐

  1. 厉害了!用12万行代码堆出来个蔡徐坤,编译还能通过!

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 作者丨鱼羊 白交 来源丨量子位(ID:QbitAI) 有个程序猿,用12万行代码堆出来 ...

  2. 有点厉害!用12万行代码堆出来个蔡徐坤,编译还能通过!

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟. 作者:鱼羊 白交 来自:量子位(ID:QbitAI) 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通 ...

  3. 牛逼!用 12 万行代码堆出来个 蔡徐坤,编译还能通过!

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 转自量子位 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 不是简单的灰度字符 ...

  4. 程序猿小哥用12万行代码堆出来个「蔡徐坤」!编译竟然还能通过

    点击上方"Github中文社区",关注 看遍Github好玩的项目 量子位 大家好,我是hub哥! 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 它是这样的: 不 ...

  5. 哈哈!12万行代码堆出来个「蔡徐坤」

    鱼羊 白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 它是这样的: 不是简单的灰度字符画!也不是控制台控制颜色!而是在唱.跳 ...

  6. ikun请进|爱心代码表白蔡徐坤来了

    实现效果如下 话不多说,直接代码全给,以下: <!DOCTYPE html> <html><head><title></title>< ...

  7. 用Python让蔡徐坤在我的命令行里打篮球!|附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 来源 | 01二进制(ID:gh_d1999add1857) 编辑 | Jane [导语]作者自称是一个 ...

  8. 用Python让蔡徐坤在我的命令行里打篮球!| 附完整代码

    作者自称是一个经常逛 B 站的肥宅.最近B站上流行的视频素材除了"换脸",其次就要属"蔡xx打球"视频了.有模仿的.对比的.手绘的... ...更过分的是,竟然 ...

  9. python篮球-用Python让蔡徐坤在我的命令行里打篮球!|附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 来源 | 01二进制(ID:gh_d1999add1857) 编辑 | Jane [导语]作者自称是一个 ...

最新文章

  1. LeetCode 41. First Missing Positive--Python 解法--数学题-找到不存在的最小正整数-O(1)空间复杂度
  2. Linux下解决“shutdown: command not found“问题
  3. Java与WCF交互(一):Java客户端调用WCF服务
  4. keil 函数 默认 外部 内部 博客_5.9 C++内部函数与外部函数
  5. Linux的Nginx报错emerg unknown directive stub_status in
  6. 计算机一级应用基础选择题,计算机应用选择题基础复习题 一级计算机考试必备...
  7. CF1110G Tree-Tac-Toe 博弈论、构造
  8. 人工智能不是替代人,而是辅助人
  9. 微信小程序上传照片,限制格式,限制大小,公用方法
  10. android保存裁剪图片,Android选择图片并裁剪,无法保存经过裁剪的图片
  11. ARKit之路-射线检测
  12. VOIP流中使用CNN-LSTM下对QIM的隐写分析方法
  13. Windows双开或者多开微信的简单做法
  14. 盘古开源:技术为基创新驱动数据存储体系完善
  15. 用 Python 实现哈希算法检测重复图片
  16. 冷暖自知 by 张楚
  17. 【微信小游戏】微信对战小游戏知识储备
  18. 扫码报修小程序,设备巡检功能
  19. python读取excel画出饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel
  20. Intent 回传数据

热门文章

  1. 写给新手的DMOZ网站提交注意事项
  2. java求长方体体积用什么类_Java题求解: 设计一个求长方体的体积和表面积的类Cube,包括以下属性和方法。 l1:长方体...
  3. 为什么强烈推荐 Java 程序员使用 Google Guava 编程!
  4. 函的红头文件格式制作_浙江省水利厅红头文件函模板范例
  5. 500 Whoops, something went wrong on our end. Try refreshing the page
  6. vue项目接入腾讯im
  7. 常用docker镜像启动了解
  8. 使用firewall-cmd限制ssh只能从指定IP段访问
  9. C盘不够了怎么办!将其他盘空间怎么分给C盘!
  10. python网球比赛模拟主持稿_模拟讲课大赛主持人稿