mirror of
https://github.com/lovell/sharp.git
synced 2025-07-09 18:40:16 +02:00
Ensure same access method for all inputs #3669
This commit is contained in:
parent
dc4b39f73f
commit
de0fc07092
@ -4,6 +4,11 @@
|
|||||||
|
|
||||||
Requires libvips v8.14.2
|
Requires libvips v8.14.2
|
||||||
|
|
||||||
|
### v0.32.2 - TBD
|
||||||
|
|
||||||
|
* Ensure the same access method is used for all inputs (regression in 0.32.0).
|
||||||
|
[#3669](https://github.com/lovell/sharp/issues/3669)
|
||||||
|
|
||||||
### v0.32.1 - 27th April 2023
|
### v0.32.1 - 27th April 2023
|
||||||
|
|
||||||
* Add experimental `unflatten` operation.
|
* Add experimental `unflatten` operation.
|
||||||
|
@ -399,6 +399,7 @@ class PipelineWorker : public Napi::AsyncWorker {
|
|||||||
sharp::ImageType joinImageType = sharp::ImageType::UNKNOWN;
|
sharp::ImageType joinImageType = sharp::ImageType::UNKNOWN;
|
||||||
|
|
||||||
for (unsigned int i = 0; i < baton->joinChannelIn.size(); i++) {
|
for (unsigned int i = 0; i < baton->joinChannelIn.size(); i++) {
|
||||||
|
baton->joinChannelIn[i]->access = baton->input->access;
|
||||||
std::tie(joinImage, joinImageType) = sharp::OpenInput(baton->joinChannelIn[i]);
|
std::tie(joinImage, joinImageType) = sharp::OpenInput(baton->joinChannelIn[i]);
|
||||||
joinImage = sharp::EnsureColourspace(joinImage, baton->colourspaceInput);
|
joinImage = sharp::EnsureColourspace(joinImage, baton->colourspaceInput);
|
||||||
image = image.bandjoin(joinImage);
|
image = image.bandjoin(joinImage);
|
||||||
@ -608,6 +609,7 @@ class PipelineWorker : public Napi::AsyncWorker {
|
|||||||
for (Composite *composite : baton->composite) {
|
for (Composite *composite : baton->composite) {
|
||||||
VImage compositeImage;
|
VImage compositeImage;
|
||||||
sharp::ImageType compositeImageType = sharp::ImageType::UNKNOWN;
|
sharp::ImageType compositeImageType = sharp::ImageType::UNKNOWN;
|
||||||
|
composite->input->access = baton->input->access;
|
||||||
std::tie(compositeImage, compositeImageType) = sharp::OpenInput(composite->input);
|
std::tie(compositeImage, compositeImageType) = sharp::OpenInput(composite->input);
|
||||||
compositeImage = sharp::EnsureColourspace(compositeImage, baton->colourspaceInput);
|
compositeImage = sharp::EnsureColourspace(compositeImage, baton->colourspaceInput);
|
||||||
// Verify within current dimensions
|
// Verify within current dimensions
|
||||||
@ -706,6 +708,7 @@ class PipelineWorker : public Napi::AsyncWorker {
|
|||||||
if (baton->boolean != nullptr) {
|
if (baton->boolean != nullptr) {
|
||||||
VImage booleanImage;
|
VImage booleanImage;
|
||||||
sharp::ImageType booleanImageType = sharp::ImageType::UNKNOWN;
|
sharp::ImageType booleanImageType = sharp::ImageType::UNKNOWN;
|
||||||
|
baton->boolean->access = baton->input->access;
|
||||||
std::tie(booleanImage, booleanImageType) = sharp::OpenInput(baton->boolean);
|
std::tie(booleanImage, booleanImageType) = sharp::OpenInput(baton->boolean);
|
||||||
booleanImage = sharp::EnsureColourspace(booleanImage, baton->colourspaceInput);
|
booleanImage = sharp::EnsureColourspace(booleanImage, baton->colourspaceInput);
|
||||||
image = sharp::Boolean(image, booleanImage, baton->booleanOp);
|
image = sharp::Boolean(image, booleanImage, baton->booleanOp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user