看到LB大大的头像突然感觉好奇就学着做了一个。教程参考LB大大的帖子。
可以在Online X-Face Converter上一键生成头像,为了满足苛刻的要求我们打开gimp开始P图,以下是步骤说明:
- Image->Mode->Grayscale,去色
- Color->Threshold,分割黑白像素
- Image->Mode->Indexed,选择Use black and white pattle(1bit)
- Filters->Generic->Erode,加粗线条,一次不够就再来一次(效果参考下图)
- Image->Scale,缩放至48x48(这里我用的是Cubic插值,其它的弄出来也差不多),若效果不好,调节步骤2和4
转X-Face字符串格式这个可把我闹麻了,我原本还以为只要把像素内容逐字节颠倒后用uuencode编码即可,结果去Online X-Face Converter上decode出来是乱码,去翻了一下compface的代码才发现原来它有个独一无二的压缩编码。
顺带一提,xbm2xface
脚本不适用于最新的perl-5.40,需要做点修改才能正常运行。
17,25c17,20
< #printf "0x%02x\n", &reverse_byte(0xF0);
<
< <>;
< m/^#define \w+_width (\d+)/ && ($width=$1);
< <>;
< m/^#define \w+_height (\d+)/ && ($height=$1);
< <>;
< m/^static.* = \{/ && (( $width == 48 && $height == 48 )
< || die "xfaces are 48x48" );
---
> <> =~ /^#define \w+_width (\d+)/ && ($width = $1);
> <> =~ /^#define \w+_height (\d+)/ && ($height=$1);
> <> =~ /^static.* = \{/ && (( $width == 48 && $height == 48 )
> || die "xfaces are 48x48" );