使用 SDL 生成代码明信片,相关博客 使用 Go 编写代码明信片生成器。
因为 go-sdl2 使用了 CGO,编译比较复杂,建议在 Releases 中下载编译好的二进制程序。
主机为 Mac,静态编译到 Mac:
$ go build -v -tags static -ldflags "-s -w"
交叉编译到 Windows:
$ CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build -v -tags static -ldflags "-s -w"
Linux 无法在 Mac 上进行交叉编译,在 Linux 进行编译可以参考 go-sdl2 的文档说明。
$ codeposter -h
usage: codeposter [<flags>] <source>
Flags:
-h, --help Show context-sensitive help (also try --help-long
and --help-man).
--font=FONT specify font file (default: Hack-Regular.ttf bundled
in binary)
--font-size=12 font size
--width=120 poster width in characters
--height=50 poster height in characters
--code-color=#e9e9e9 source code color, '#rgb' or '#rrggbb' or
'#rrggbbaa'
--bg-color=#fff background color, '#rgb' or '#rrggbb' or '#rrggbbaa'
--img=IMG image used to render poster (default: gopher.png
bundled in binary
--padding=1,2 padding space in characters, e.g. 1,2
-v, --version Show application version.
Args:
<source> source code path
font
:字体,默认使用 Hack-Regular.ttf,打包在二进制中font-size
:字体大小width
:明信片的宽度,单位是字符height
:明信片的高度,单位是字符code-color
: 代码的颜色,默认为#e9e9e9
bg-color
: 背景颜色,默认为#fff
img
: 渲染明信片的图片,支持 png, jpg, gif,默认为 gopher.png,打包在二进制中padding
: 上下和左右间距,单位是字符。可以使用--pading 1
设置上下和左右也可以使用--pading 1,2
分别设置
$ codeposter examples/jquery.min.js --img examples/gopher.png
$ codeposter examples/jquery.min.js --img examples/heart.png
$ codeposter examples/jquery.min.js --img examples/diamond.png
- 不再使用浏览器渲染方案,改用 SDL 渲染,直接生成图片
- 处理
jpeg
以及gif
类型的图片
- 完成基本功能