diff options
Diffstat (limited to 'gm/encode-srgb.cpp')
-rw-r--r-- | gm/encode-srgb.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gm/encode-srgb.cpp b/gm/encode-srgb.cpp index bbaeaa7042..bf9ef821ab 100644 --- a/gm/encode-srgb.cpp +++ b/gm/encode-srgb.cpp @@ -15,6 +15,7 @@ #include "SkImage.h" #include "SkImageEncoderPriv.h" #include "SkJpegEncoder.h" +#include "SkPngEncoder.h" #include "SkPM4f.h" #include "SkSRGB.h" @@ -117,14 +118,16 @@ static sk_sp<SkData> encode_data(const SkBitmap& bitmap, SkEncodedImageFormat fo } SkDynamicMemoryWStream buf; + SkPngEncoder::Options pngOptions; SkEncodeOptions options; if (bitmap.colorSpace()) { + pngOptions.fUnpremulBehavior = SkTransferFunctionBehavior::kRespect; options.fUnpremulBehavior = SkTransferFunctionBehavior::kRespect; } switch (format) { case SkEncodedImageFormat::kPNG: - SkAssertResult(SkEncodeImageAsPNG(&buf, src, options)); + SkAssertResult(SkPngEncoder::Encode(&buf, src, pngOptions)); break; case SkEncodedImageFormat::kWEBP: SkAssertResult(SkEncodeImageAsWEBP(&buf, src, options)); |