}
})
}
// 写入文件
// fs.writeFile(file, data[, options], callback)
// file - 文件名或文件描述符。
// data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。
// options - 该参数是一个对象,包含 { encoding, mode, flag } 。默认编码为 utf8, 模式为 0666 , flag 为 'w'
// callback - 回调函数,回调函数只包含错误信息参数(err) ,在写入失败时返回。
function writeFile(_path , _txt) {
fs.writeFile(_path , _txt , function (err) {
if (err) {
console.log('happen an error when write file , error is ' + err)
}
else{
console.log("format file success :",_path);
}
})
}
// 样式操作相关
/*
* fun:
*/
function ChangePosFor4K(){
var format = /d+px/gi;
var tempSufixx = '@@' // 临时占位符,因为需要靠数字+px的正则来匹配,已经修改过的就不能再有px
this.formatNumber = function(arg){
// 匹配出所有的 数字和px的组合 dd.px
var initalStr = arg;
var locIndex = initalStr.search(format); //获取到起始索引
var changeTimes = 0;
while(locIndex>0){
// 拿到值
var locStr = getFullPos(initalStr , locIndex);
// 乘以相关比例
var locValue =Math.ceil(parseInt(locStr) * 1.5);
var locReplaceStr = locValue+tempSufixx;
// 替换
initalStr = replaceStr(initalStr , locIndex , locStr.length , locReplaceStr);
locIndex = initalStr.search(format);
// 计数
changeTimes++;
}
var locReg = new RegExp(tempSufixx,'gi')
initalStr = initalStr.replace(locReg , 'px');
return {code:initalStr,times:changeTimes};
}
// 根据字符串和起始位置找到 xxx.px 字符串
function getFullPos(_str , _begin){
var output = '';
while(output.indexOf('px')<0){// 当没有没有找到完整的字符串
output += _str.charAt(_begin);
_begin++;
}
return output;
}
// 被替换的元素,根据起始索引,替换长度,替换元素
function replaceStr( _str , _begin , _len , _subStr ){
// 首先将字符串和拼接字符串转化为数组
var strArr = _str.split('');
var subStrArr = _subStr;
// 完成替换
strArr.splice(_begin,_len,subStrArr);
return strArr.join('');
}
}
至此代码相关操作就已经结束了,下面来图片操作。这里的图片操作借助了gm,首先通过npm安装gm,并安装ImageMagick或者GraphicsMagick软件。代码:
var fs = require('fs');
// 两个图片操作底层程序可以选择
var gm = require('gm').subClass({ImageMagick: true});
var path = require("path")var relativePath = 'test'









