aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/animator/SkSnapshot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/animator/SkSnapshot.cpp')
-rw-r--r--src/animator/SkSnapshot.cpp8
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;
}