| | 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)) |
| | }) |
| | } |