Index: src/images/SkImageEncoder.cpp |
diff --git a/src/images/SkImageEncoder.cpp b/src/images/SkImageEncoder.cpp |
index 4b52fcdc8c89708852de7da460510aa904ea4455..006a23dff349afc82ba6ac3525104c53b1aa6b10 100644 |
--- a/src/images/SkImageEncoder.cpp |
+++ b/src/images/SkImageEncoder.cpp |
@@ -38,3 +38,13 @@ bool SkImageEncoder::EncodeStream(SkWStream* stream, const SkBitmap& bm, Type t, |
SkAutoTDelete<SkImageEncoder> enc(SkImageEncoder::Create(t)); |
return enc.get() && enc.get()->encodeStream(stream, bm, quality); |
} |
+ |
+SkData* SkImageEncoder::encodeData(const SkBitmap& bm, int quality) { |
+ SkDynamicMemoryWStream stream; |
+ quality = SkMin32(100, SkMax32(0, quality)); |
+ if (this->onEncode(&stream, bm, quality)) { |
+ return stream.copyToData(); |
+ } |
+ return NULL; |
+} |
+ |