时间:2021-05-26
说到Nodejs下的图片处理可能第一想到就是gm,gm底层可以是GraphicsMagic(其实也是gm的由来),也可以是ImageMagick(其实GraphicsMagic本身也是从ImageMagic分割而来,现在独立了)。虽然这两个工具本身都不是js实现,所以需要额外安装,不过此工具非常常见,可能已经预装在linux系统下,而且安装也很方便,所以不用因为看到是“第三方”就放弃。虽然说这两个软件都只是底层,无需关心,可笔者在实践中发现必须得用GraphicsMagic,所以这里就只介绍GraphicsMagics的安装与使用。
GaphicsMagic 安装
GraphicsMagic 官网是: http://pose或者mosaic (详见这个 教程 )不过感觉不如svg更加明了。
注意笔者尝试通过svg加上文字,不过发现中文字无法被识别,所以仍然只能通过gm添加,添加时需要设置字体(详见下一章代码实现)
如果要在一个大图里嵌入两张圆形的图片,则需要设置两个pattern,这时有个经验:
代码实现
const gm = require('gm')const fs = require('fs')let templateSVG = "/path/to/original.svg"let outputSVG = "/path/to/repalced.svg"let input = "/path/to/icon.png"let font = "/path/to/font.ttf"let fontColor = "white"let fontSize = 10fs.readFile(templateSVG,'utf-8',function(err,data){ if (err) throw err var d = data.replace('{{icon_img}}',input) fs.writeFile(outputSVG,d,function(err){ if (err) throw err gm(outputSVG) .font(font) .fill(fontColor) .fontSize(fontSize) .drawText(textPosition[0], textPosition[1], text)// .write(output,function(err){ if(err) cb(err) // next }) })})以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了iOS将图片裁剪成圆形的具体代码,供大家参考,具体内容如下原图:圆形图片裁剪效果:裁剪成带边框的圆形图片:核心代码:#import@inte
圆形头像在我们的日常使用的app中很常见,因为圆形的头像比较美观.使用圆形图片的方法可能有我们直接将图片裁剪成圆形再在app中使用,还有就是使用自定义View对
以OPPO手机为例,把图片合成一张的方法是: 合成图片,或合成相片、合成照片,近似报纸、杂志自称的设计图片,制作容易,用PhotoShop等编辑、剪与贴而已,
首先需要确认GD库是否正常,如果是合成图片,请确保把分解的图片放在frames的文件夹里面。GIFEncoder.class.php类"Doesnotsuppo
以前在eoe论坛中找过裁剪图片为圆形图片的方法,但是效果都不是很理想,这几天因为公司业务的要求,需要对头像进行裁剪以圆形的方式显示,这个方法是根据传入的图片的高