blob: c137bc5e0a866db2fcd831782e886d9b4e2c33d1 [file] [log] [blame]
reed@android.comb08eb2b2009-01-06 20:16:26 +00001/*
epoger@google.comec3ed6a2011-07-28 14:26:00 +00002 * Copyright 2009 The Android Open Source Project
reed@android.comb08eb2b2009-01-06 20:16:26 +00003 *
epoger@google.comec3ed6a2011-07-28 14:26:00 +00004 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
reed@android.comb08eb2b2009-01-06 20:16:26 +00006 */
7
Hal Canarydb683012016-11-23 08:55:18 -07008#include "SkImageEncoderPriv.h"
reed@android.comb08eb2b2009-01-06 20:16:26 +00009
Hal Canarydb683012016-11-23 08:55:18 -070010bool SkEncodeImage(SkWStream* dst, const SkPixmap& src,
11 SkEncodedImageFormat format, int quality) {
reed53b9e2e2014-12-19 12:26:07 -080012 SkBitmap bm;
Hal Canarydb683012016-11-23 08:55:18 -070013 if (!bm.installPixels(src)) {
14 return false;
reed53b9e2e2014-12-19 12:26:07 -080015 }
halcanaryf2848b62015-12-10 12:40:23 -080016 bm.setImmutable();
Hal Canarydb683012016-11-23 08:55:18 -070017 std::unique_ptr<SkImageEncoder> enc(SkImageEncoder::Create((SkImageEncoder::Type)format));
18 return enc && enc->encodeStream(dst, bm, quality);
reed53b9e2e2014-12-19 12:26:07 -080019}