| import { spawn } from 'child_process' |
| import { join } from 'path' |
|
|
| const __dirname = global.__dirname(import.meta.url) |
| |
| |
| |
| |
| |
| |
| export function levelup(teks, level) { |
| return new Promise(async (resolve, reject) => { |
| if (!(global.support.convert || global.support.magick || global.support.gm)) return reject('Not Support!') |
| const font = join(__dirname, '../src/font') |
| let fontLevel = join(font, './level_c.otf') |
| let fontTexts = join(font, './texts.otf') |
| let xtsx = join(__dirname, '../src/lvlup_template.png') |
| let anotations = '+1385+260' |
| if (level > 2) anotations = '+1370+260' |
| if (level > 10) anotations = '+1330+260' |
| if (level > 50) anotations = '+1310+260' |
| if (level > 100) anotations = '+1260+260' |
| |
| const [_spawnprocess, ..._spawnargs] = [...(global.support.gm ? ['gm'] : global.support.magick ? ['magick'] : []), |
| 'convert', |
| xtsx, |
| '-font', |
| fontTexts, |
| '-fill', |
| '#0F3E6A', |
| '-size', |
| '1024x784', |
| '-pointsize', |
| '68', |
| '-interline-spacing', |
| '-7.5', |
| '-annotate', |
| '+153+200', |
| teks, |
| |
| '-font', |
| fontLevel, |
| '-fill', |
| '#0A2A48', |
| '-size', |
| '1024x784', |
| '-pointsize', |
| '140', |
| '-interline-spacing', |
| '-1.2', |
| '-annotate', |
| anotations, |
| level, |
| '-append', |
| 'jpg:-' |
| ] |
| let bufs = [] |
| spawn(_spawnprocess, _spawnargs) |
| .on('error', reject) |
| .on('close', () => { |
| return resolve(Buffer.concat(bufs)) |
| }) |
| .stdout.on('data', chunk => bufs.push(chunk)) |
| }) |
| } |