我试图将我的照片工作流程转换为nodejs。从Lightroom吐出的每个jpg,我想做: 1)没有水印的200x200像素缩略图 2)高度压缩的jpg,与src相同的像素大小,但水印重叠
我的任务是创建缩略图:
gm(photo.photoPath)
.size(function (error, size) {
// I need to know the pixel size of the photo first!
if (error) {
console.log(error);
} else {
// Succesfully loaded
photo.size = size;
photo.orientation = size.height > size.width ? 'portrait' : 'landscape';
var cropSize = size.height < size.width ? size.height : size.width;
var left = size.height > size.width ? 0 : Math.round((size.width - size.height) / 2);
.crop(cropSize, cropSize, left, 0)
.resize(200, 200)
.unsharp(1, 1, 1.2, 0.05)
.noProfile()
.quality(30)
.write(photo.thumbFile, function (err) {
if (!err) {
console.log('Thumb aangemaakt als /tn/' + photo.cryptedName);
} else {
console.log('Problem saving: ' + err);
}
});
}
});
基本上这就是我希望我的工作流程:
src file from Lightroom
|
|
open file with GM
/ \
/ \
Overlay watermark resize 200x200px
(transparent png) |
| |
| sharpen lightly
| |
| |
| |
save as /lowquality/xxxx.jpg save as /thumb/xxxx.jpg
在我打开之后,我仍然需要创建两个独立版本。请帮忙!