aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/encode-platform.cpp
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2017-05-05 11:13:26 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-05 16:34:13 +0000
commitc367d03fb04fccdc63b1379cf74ddc1cab842039 (patch)
tree34bf729ad13945d6351874c547edef2064c7415c /gm/encode-platform.cpp
parent243ed375544de7446037fde6ad29944d5eda54bf (diff)
Add support for row-by-row png encodes
Also adds a SkEncoder base class. Bug: 713862 Change-Id: Ia3f009cd9f376514f6c19396245fab3a43ae6536 Reviewed-on: https://skia-review.googlesource.com/15152 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'gm/encode-platform.cpp')
-rw-r--r--gm/encode-platform.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/gm/encode-platform.cpp b/gm/encode-platform.cpp
index b6e0c1c1c3..fa940b6271 100644
--- a/gm/encode-platform.cpp
+++ b/gm/encode-platform.cpp
@@ -13,6 +13,7 @@
#include "SkImage.h"
#include "SkImageEncoderPriv.h"
#include "SkJpegEncoder.h"
+#include "SkPngEncoder.h"
#include "SkUnPreMultiply.h"
namespace skiagm {
@@ -69,9 +70,12 @@ static sk_sp<SkData> encode_data(SkEncodedImageFormat type, const SkBitmap& bitm
return SkEncodeImageWithWIC(&buf, src, type, 100) ? buf.detachAsData() : nullptr;
#else
switch (type) {
- case SkEncodedImageFormat::kPNG:
- return SkEncodeImageAsPNG(&buf, src, SkEncodeOptions()) ? buf.detachAsData()
- : nullptr;
+ case SkEncodedImageFormat::kPNG: {
+ SkPngEncoder::Options options;
+ options.fUnpremulBehavior = SkTransferFunctionBehavior::kIgnore;
+ bool success = SkPngEncoder::Encode(&buf, src, options);
+ return success ? buf.detachAsData() : nullptr;
+ }
case SkEncodedImageFormat::kJPEG: {
bool success = SkJpegEncoder::Encode(&buf, src, SkJpegEncoder::Options());
return success ? buf.detachAsData() : nullptr;