拿到一个需求就是把两个图合成一个图首先分别把两个图的象素提取出来然后各取一半最后再合成一个图用的jimp模块来实现的npm install --save jimp 然后为了防止异步不能同时拿到两张图后再处理所以把第二张图放在第一个完成方法里面了 如下
Jimp
.read('test.png').then(function (image
) {
oldpixs
= image
.bitmap
.data
;
console
.log(image
.bitmap
.data
);
Jimp
.read('testone.png').then(function (image
) {
newpixs
= image
.bitmap
.data
;
console
.log(image
.bitmap
.data
);
console
.log(oldpixs
);
console
.log(newpixs
);
const pixelSize
= 768;
var saveimage
= new Jimp(pixelSize
, pixelSize
, function (err
, saveimage
) {
let buffer
=[];
for (var x
= 0; x
< pixelSize
; x
++) {
for (var y
= 0; y
< pixelSize
; y
++) {
let offset
= ( pixelSize
* x
) +y
* 4
buffer
[offset
] = newpixs
[offset
]
buffer
[offset
+ 1] = newpixs
[offset
+1]
buffer
[offset
+ 2] = newpixs
[offset
+2]
buffer
[offset
+ 3] = newpixs
[offset
+3]
}
}
saveimage
.bitmap
.data
=buffer
;
})
saveimage
.write('image.png')
})
})
源码和结果可以参考 https://github.com/Ants-double/BlogCode