Add trimOffsetLeft, trimOffsetTop to trim response #914

This commit is contained in:
Lovell Fuller
2018-10-02 20:16:00 +01:00
parent c431909f35
commit 0725378257
5 changed files with 20 additions and 0 deletions

View File

@@ -102,6 +102,8 @@ class PipelineWorker : public Nan::AsyncWorker {
// Trim
if (baton->trimThreshold > 0.0) {
image = sharp::Trim(image, baton->trimThreshold);
baton->trimOffsetLeft = image.xoffset();
baton->trimOffsetTop = image.yoffset();
}
// Pre extraction
@@ -966,6 +968,12 @@ class PipelineWorker : public Nan::AsyncWorker {
Set(info, New("cropOffsetTop").ToLocalChecked(),
New<v8::Int32>(static_cast<int32_t>(baton->cropOffsetTop)));
}
if (baton->trimThreshold > 0.0) {
Set(info, New("trimOffsetLeft").ToLocalChecked(),
New<v8::Int32>(static_cast<int32_t>(baton->trimOffsetLeft)));
Set(info, New("trimOffsetTop").ToLocalChecked(),
New<v8::Int32>(static_cast<int32_t>(baton->trimOffsetTop)));
}
if (baton->bufferOutLength > 0) {
// Pass ownership of output data to Buffer instance

View File

@@ -82,6 +82,8 @@ struct PipelineBaton {
int threshold;
bool thresholdGrayscale;
double trimThreshold;
int trimOffsetLeft;
int trimOffsetTop;
double linearA;
double linearB;
double gamma;
@@ -177,6 +179,8 @@ struct PipelineBaton {
threshold(0),
thresholdGrayscale(true),
trimThreshold(0.0),
trimOffsetLeft(0),
trimOffsetTop(0),
linearA(1.0),
linearB(0.0),
gamma(0.0),