圣诞夜,让你的代码都变成圣诞树吧!
关注TJ君,回复“武功秘籍”免费获取计算机宝典书籍
今天是圣诞夜,有多少小伙伴是出去过节了呢?当然肯定有更多的小伙伴是等着和TJ君一起分享圣诞夜的编码快乐!
既然是圣诞夜,那我们今天怎么也要聊聊和圣诞有关的东西,对不对?
那么你以为TJ君要给你介绍如何编写一个圣诞树?
嗯点子不错,不过似乎太简单了?好吧好吧,TJ君肯定不会让小伙伴们失望,拿出一个压箱底的好东东~~~
js2image
这是一个神奇的开源项目,有多神奇呢?它可以把js源代码压缩成一个ascii字符画的源代码的工具,就像这个样子:
不要小看它哦,被压缩后的代码可还是直接可以运行的哦!
如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/
安装依赖
# Ubuntu
$ sudo apt-get install graphicsmagick# Fedora
$ sudo dnf install GraphicsMagick# OS X
$ brew install graphicsmagick# Chocolatey (package manager for Windows)
# (Restart of cmd/PowerShell is required)
$ choco install graphicsmagick
不过要注意的是,js2image有一点小局限,就是暂时不支持windows系统(看作者的更新频率可能后面也不会支持了T_T),并且需要图片不能透明、要是白底。
使用
在Node.js中,可按如下命令进行安装:
$ npm install js2image --save
具体的使用方法如下:
var Js2Image = require('js2image');var image = './resource/tree.png';
var source = './resource/jquery.js';
var target = './target/xmas.js';
var options = {};// 获取结果的code
var sourceCode = fs.readFileSync(source);
Js2Image.getCode(sourceCode, image, options).then(function (code) {// code为生成的代码console.log(code);
})// 或者直接写入文件
Js2Image.writeToFile(source, image, target, options).then(function (code) {// 生成的代码已被写入到文件target// code为生成的代码console.log(code);
});
根据作者的思路,js2image的实现思路有三个步骤:
1、使用现成已有的库来生成图片的字符画。
2、将目标的js代码进行分割,然后将分割的代码分块装入第一步的字符画里。(分割的原理是将js源码解构成一个数组)
3、对于那些不能分开的js语法,特别需要注意要特殊处理,保存在一起。(难点在于如何提取出所有,记住是所有,不可分割的语法)
具体的核心思路,在作者的代码里都实现啦,感兴趣的小伙伴,赶紧来一探究竟!圣诞夜让我们把代码都变成圣诞树吧!代码地址如下:
点击下方卡片,关注公众号“TJ君”
回复“圣诞快乐”,获取仓库地址
我新开个号,准备分享一些有趣见闻和思考
感兴趣的小伙伴可以关注一下
圣诞夜,让你的代码都变成圣诞树吧!相关推荐
- 圣诞夜表白代码!看你答不答应
公众号[走神研究所]回复[表白]获取网站 这里有棵会动的圣诞树来帮助你表白噢! 圣诞节马上要到了,不知道有没有和你一起过节的人呢? 还没有?没关系,看看这个圣诞夜表白代码,发给你心仪的人,伴着音乐和动 ...
- 计算机发展红火,为何女性却越来越少?一场圣诞夜的反思
热点追踪 / 深度探讨 / 实地探访 / 商务合作 文/赵家鹏 1816年的圣诞夜,诗人拜伦给一位密友寄去了一封信. 信中附有他新作的一首诗,这首诗名为<路德分子之歌>,后来成为了拜伦的代 ...
- 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- 洛谷 P1454【圣诞夜的极光】
题目背景 圣诞夜系列~~ 题目描述 圣诞老人回到了北极圣诞区,已经快到12点了.也就是说极光表演要开始了.这里的极光不是极地特有的自然极光景象.而是圣诞老人主持的人造极光. 轰隆隆--烟花响起(来自中 ...
- 疯狂圣诞夜,带你探寻那些吃喝玩乐的好去处……
叮叮当,叮叮当,铃儿响叮当,嘿!圣诞节马上要来啦!!! 步入节日季以来,多家酒店纷纷举办圣诞点灯仪式,装潢大堂,为圣诞开篇. 北京雁栖酒店 海口鲁能希尔顿酒店 成都尼依格罗酒店 华丽丽的圣诞点灯,香喷 ...
- 2022圣诞代码合集(圣诞树+圣诞老人)
文章目录 前言 使用方法 圣诞树 圣诞老人 前言 圣诞节里的喜悦,飘扬万里:圣诞树上的星星,璀璨耀眼:圣诞星空绽放的烟花,迎来吉祥:圣诞钟声奏响的旋律,传递欢乐:圣诞老人送给你的礼物,是我最衷心的祝福 ...
- 一夜之间全世界的WIFI都不安全了;阿里和京东线下争夺的新场景:加油站|ServiceHot一周热闻
一夜之间全世界的WIFI都不安全了:阿里和京东线下争夺的新场景:加油站......以下为您奉上更多热点事件. 一夜之间全世界的WIFI都不安全了? 传闻用于保护无线路由器和联网设备不被入侵的 WPA2 ...
- 优秀的代码都是如何分层的?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://t.cn/RdrmI7i 1.背景 说起应用分 ...
- 优秀的 Java 项目代码都是如何分层的?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/ej56f 1.背景 2.如何进 ...
最新文章
- android配置activity
- C语言中“数组名”和“数组名”
- OpenGL material light材质灯光的实例
- LeetCode算法入门- Remove Element -day20
- 办公自动化-数据库的增删改查操作-mysql-0223
- 《编程原本 》一2.2 轨道
- 徐中约与《中国近代史》 (zz)
- 临时上传的文件-20170707
- [转]BVH文件介绍
- CentOS 6.8 编译安装MySQL5.5.32
- DMA映射 dma_addr_t
- 软件测试面试常用Linux命令总结
- 如何释放计算机的ip地址,电脑执行释放DNS和更新IP的命令是什么?怎么执行
- 杰理之AUDIO_DAC【篇】
- Jacob 操作 outlook 发邮件 遍历文件夹邮件 移动邮件
- SAN存储的配置与管理
- 【总结】知识点巩固------Linux命令总结
- canal_deployer、canal_adapter碰到的问题
- 网站中PV、UV、IP的区别
- 设计模式十四(中介者模式)