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

网站生成静态知乎 wordpress 博客

网站生成静态,知乎 wordpress 博客,wordpress 网站为什么打不开,循化县公司网站建设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/128596/

相关文章:

  • 个人网站建设论文绪论怎么建设个网站网站
  • 天津网站推广网站策划书撰写
  • 上海做外贸网站建设WordPress 默认链接 媒体文件
  • 我的三次做网站的经历c2c交易平台有哪些?
  • 企业网站开发费用会计分录小程序开发公司排行榜前10
  • 找网站开发公司需要注意那几点房产查询系统
  • 东莞热的建设网站内链好的网站
  • 安徽城乡建设厅官网站京东商城网站建设策划书
  • 亿联网络 网站wordpress爆破思路
  • 江苏专业网站制作公司软件定制报价单
  • 苏州做企业网站的公司个人网站怎么建设步骤
  • 注册公司2个人可以吗企业网站如何做seo
  • 京东网站开发框架视频制作课程
  • 自己做app的网站网站设计原型
  • 网站制作开发公司如何做自己微网站
  • 广东网站建设公司哪家好购物网站详细设计
  • 广州做网站基本流程刷手机网站关键词
  • 网站看不到预览图个人信息展示html模板
  • 网站推广类型欧洲站vat激活
  • 医疗类网站源码外贸网站的建设
  • 做网站需要前台和后台吗山东省建设资格中心网站
  • 建设银行业务管理中心网站任县建设局网站
  • 网站建设专家工作总结国外做内容网站
  • asp网站管理系统破解版未来网登录网址
  • dw建立网站之后怎么做廊坊百度推广seo
  • 潍坊网站建设招聘旅游网络营销方式
  • 餐饮加盟培训网站建设建立网站建设
  • 网站建设丷金手指专业十五网页模板代码
  • 迁安网站开发做pc端网站报价
  • 教育教研网站建设的意义saas智能营销云平台