当前位置: 首页 > news >正文

河源市住房和城乡规划建设局网站做动画网站

河源市住房和城乡规划建设局网站,做动画网站,中学生制作网站,wp网站如何做文件的付费下载Sharp是一个基于libvips的高性能Node.js图像处理库,它提供了广泛的功能,包括调整大小、裁剪、旋转、格式转换等。Sharp可以处理多种图像格式,并且能够高效地转换图像格式。 相关说明及用法看:https://sharp.nodejs.cn/ 安装&#…

Sharp是一个基于libvips的高性能Node.js图像处理库,它提供了广泛的功能,包括调整大小、裁剪、旋转、格式转换等。Sharp可以处理多种图像格式,并且能够高效地转换图像格式。
相关说明及用法看:https://sharp.nodejs.cn/
安装:Sharp:npm install sharp
以及安装:npm install --save text-to-svg
text-to-svg将文本转换为SVG路径,而无需本地依赖,相关用法及说明看https://www.npmjs.com/package/text-to-svg
上代码

const sharp=require('sharp');
const fs=require('fs');
const textToSvg=require('text-to-svg');const basePicture=`${__dirname}/img/123.jpg`;//转化Buffer流对象,并将buffer流合并成一个,并期约返回
function streamToBuffer(stream)
{return new Promise((resolve,reject)=>{const bufferList=[];//图片流数据stream.on('data',data=>{bufferList.push(data);})stream.on('error',err=>{reject();})//end为追加数据stream.on('end',()=>{//这里是合并buffer对象resolve(Buffer.concat(bufferList));})})
}//生成新图片,并追加新图片的格式大小覆盖区域等
function dealWithStream(basePicture)
{const readableStream=fs.createReadStream(basePicture);const transformer=sharp().resize({width:100,height:100,fit:sharp.fit.cover,position:sharp.strategy.entropy})//console.log(transformer);//将transformer流数据追加进行处理readableStream.pipe(transformer);streamToBuffer(transformer).then(function(newPicBuffer){//写入新图片中fs.writeFile(`${__dirname}/img/water.png`,newPicBuffer,function(err){if(err){console.log(err);return;}console.log('done');})})}//dealWithStream(basePicture);
//将图片转为jpeg,并对jpeg文件进行处理
function dealWithBuffer(basePicture)
{sharp(basePicture).resize(800,600,{fit:sharp.fit.inside,withoutEnlargement:true}).toFormat('webp').toBuffer().then(function(outputBuffer){fs.writeFile(`${__dirname}/img/3.webp`,outputBuffer,function(err){if(err){console.log(err);return;}console.log('done');})})
}//dealWithBuffer(basePicture);
//添加文字水印
function addText(basePicture,font,newFilePath)
{const {fontSize,text,color,left,top}=font;const textToSvgSync=textToSvg.loadSync();const attributes={fill:color};const options={fontSize,anchor:'top',attributes};const svgTextBuffer=Buffer.from(textToSvgSync.getSVG(text,options));//添加文字sharp(basePicture).composite([{input:svgTextBuffer,top,left}]).withMetadata()		// 在输出图像中包含来自输入图像的所有元数据(EXIF、XMP、IPTC)。.toFormat('webp')	//生成新的图片格式为webp.toFile(newFilePath)  .then(info=>{if(!!info){console.log('水印已经生成');}}).catch(err=>{console.log(err);})
}/*
addText(basePicture,{fontSize:24,text:'喜气洋洋',color:'white',left:200,top:200
},`${__dirname}/img/6.webp`);
*///添加图片水印,水印图片一定要小于原图
function addWatermark(basePicture,watermarkPicture,newFilePath)
{sharp(basePicture)//.rotate(180) //旋转180度.composite([{input:watermarkPicture,blend:'overlay',globalAlpha:0.5,left:50,top:50  }])//在左上坐标(10,10)位置添加水印图片,composite为合成图片.withMetadata().webp({quality:90}).toFile(newFilePath).then(result=>{if(result){console.log('水印已经添加');}}).catch(err=>{console.log(err);})sharp.cache(false);
}//dealWithStream('./img/300.jfif');
let waterPic=`${__dirname}/img/water.png`
addWatermark(basePicture,waterPic,'./img/7.webp');
http://www.yayakq.cn/news/383258/

相关文章:

  • 网站建设推广平台有哪些方面注册餐饮公司需要什么条件
  • 黔江网站制作做的最少的网站
  • 军事网址大全 网站做APP好还是建设网站好
  • 游戏发号网站源码北京it外包公司排行榜
  • 网站制作价格服务建工社微课程官网
  • php网站后台无法上传图片示范高职建设网站
  • 南海区住房和城乡建设部网站学校门户网站功能
  • 沈阳网站推广优化公司哪家好单页淘宝客网站
  • 购物平台需要什么资质阳江企业网站排名优化
  • 电子商务网站开发主要有哪些asp网站漏洞修复插件
  • 预付网站建设费用会计分录小程序平台登录
  • 做网站需要做什么雅虎搜索引擎首页
  • 网站运营主要做什么工作程序员自己做项目网站
  • 宁至网站建设设计开发建设网站平台
  • 长沙网站开网站运营繁忙
  • 鲜花拍卖网站建设市场分析wordpress封面
  • 扁平 网站模板建设公司网站的必要性
  • 深圳品牌学校网站建设西安网站建设聂卫
  • 网站域名备案与解析官网微信
  • 怎么为自己的厂做网站企业管理平台app
  • VPS如何做镜像网站东莞市产品网络推广
  • 网站系统定制黑龙江建设银行网站
  • 用于网站建设的费用怎么备注山东免费网站制作
  • 严什么的烟 网站建设怎么设计一个软件
  • 建设环评备案登记网站网址解析ip地址
  • 智能魔方网站1688做网站费用
  • 福建建设厅网站 资质天津城市网络建设
  • 电子商务网站开发方式项目建设目标
  • 中国建设银行北京招聘信息网站网站建设大学
  • 怀宁县住房与城乡建设局网站网站后台更新文档