我想使用nodejs
生成初始头像图像。我正在使用gm module
,但是当我尝试编写文件时,它会给我无效参数 - 256 x 256 错误。我已经尝试过互联网上的所有解决方案,但它们都没有工作。以下是我的代码和package.json
文件。
代码:
const gm = require('gm').subClass({imageMagick: true});
var choices = ['#F44336', '#E91E63', '#9C27B0', '#673AB7', '#3F51B5',
'#2196F3', '#03A9F4', '#00BCD4', '#009688', '#4CAF50', '#8BC34A',
'#CDDC39', '#FFEB3B', '#FFC107', '#FF9800', '#FF5722'
];
var initials = "SZ";
var initials_sum = initials.charCodeAt(0) + initials.charCodeAt(1);
var color_index = initials_sum % choices.length;
var background_color = choices[color_index];
var size = 256;
var font_size = Math.floor(size / 256 * 95);
var top_offset = Math.floor(size / 256 * 10);
gm(size, size, background_color)
.gravity('Center')
.fill('white')
.font('fonts/AvenirNext.otf', font_size)
.drawText(0, top_offset, initials.substring(0,2).toUpperCase())
.write('./my-image.png',function(err,data){
if(err) console.log(err);
console.log(data);
})
Package.json文件:
{
"name": "init-avatars",
"version": "1.0.0",
"description": "",
"main": "index.js",
"author": "",
"license": "ISC",
"dependencies": {
"gm": "^1.23.1",
"imagemagick": "^0.1.3",
}
}