diff options
Diffstat (limited to 'src/animator/SkSnapshot.cpp')
-rw-r--r-- | src/animator/SkSnapshot.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/animator/SkSnapshot.cpp b/src/animator/SkSnapshot.cpp index 6f818a627d..b61d602047 100644 --- a/src/animator/SkSnapshot.cpp +++ b/src/animator/SkSnapshot.cpp @@ -60,8 +60,10 @@ bool SkSnapshot::draw(SkAnimateMaker& maker) { name.append(".jpg"); else if (type == SkImageEncoder::kPNG_Type) name.append(".png"); - encoder->encodeFile(name.c_str(), - maker.fCanvas->getDevice()->accessBitmap(false), - SkScalarFloorToInt(quality)); + + SkBitmap pixels; + pixels.allocPixels(maker.fCanvas->imageInfo()); + maker.fCanvas->readPixels(&pixels, 0, 0); + encoder->encodeFile(name.c_str(), pixels, SkScalarFloorToInt(quality)); return false; } |