diff options
Diffstat (limited to 'src/image')
-rw-r--r-- | src/image/SkImage.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 43c4cbaa39..128e693ad2 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -256,6 +256,7 @@ sk_sp<SkImage> SkImage::makeWithFilter(const SkImageFilter* filter, const SkIRec if (!filter || !outSubset || !offset || !this->bounds().contains(subset)) { return nullptr; } + SkColorType colorType = as_IB(this)->onImageInfo().colorType(); SkColorSpace* colorSpace = as_IB(this)->onImageInfo().colorSpace(); sk_sp<SkSpecialImage> srcSpecialImage = SkSpecialImage::MakeFromImage( subset, sk_ref_sp(const_cast<SkImage*>(this)), colorSpace); @@ -265,7 +266,7 @@ sk_sp<SkImage> SkImage::makeWithFilter(const SkImageFilter* filter, const SkIRec sk_sp<SkImageFilterCache> cache( SkImageFilterCache::Create(SkImageFilterCache::kDefaultTransientSize)); - SkImageFilter::OutputProperties outputProperties(colorSpace); + SkImageFilter::OutputProperties outputProperties(colorType, colorSpace); SkImageFilter::Context context(SkMatrix::I(), clipBounds, cache.get(), outputProperties); sk_sp<SkSpecialImage> result = filter->filterImage(srcSpecialImage.get(), context, offset); |