1 2 /* 3 * Copyright 2009 The Android Open Source Project 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10 #include "SkImageEncoder.h" 11 #include "SkBitmap.h" 12 #include "SkStream.h" 13 #include "SkTemplates.h" 14 15 SkImageEncoder::~SkImageEncoder() {} 16 17 bool SkImageEncoder::encodeStream(SkWStream* stream, const SkBitmap& bm, 18 int quality) { 19 quality = SkMin32(100, SkMax32(0, quality)); 20 return this->onEncode(stream, bm, quality); 21 } 22 23 bool SkImageEncoder::encodeFile(const char file[], const SkBitmap& bm, 24 int quality) { 25 quality = SkMin32(100, SkMax32(0, quality)); 26 SkFILEWStream stream(file); 27 return this->onEncode(&stream, bm, quality); 28 } 29 30 bool SkImageEncoder::EncodeFile(const char file[], const SkBitmap& bm, Type t, 31 int quality) { 32 SkAutoTDelete<SkImageEncoder> enc(SkImageEncoder::Create(t)); 33 return enc.get() && enc.get()->encodeFile(file, bm, quality); 34 } 35 36 bool SkImageEncoder::EncodeStream(SkWStream* stream, const SkBitmap& bm, Type t, 37 int quality) { 38 SkAutoTDelete<SkImageEncoder> enc(SkImageEncoder::Create(t)); 39 return enc.get() && enc.get()->encodeStream(stream, bm, quality); 40 } 41 42