diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 53e15a5..15e56a3 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -1128,8 +1128,9 @@
 
 static SkBitmap capture_bitmap(SkCanvas* canvas) {
     SkBitmap bm;
-    const SkBitmap& src = canvas->getDevice()->accessBitmap(false);
-    src.copyTo(&bm, src.config());
+    if (bm.allocPixels(canvas->imageInfo())) {
+        canvas->readPixels(&bm, 0, 0);
+    }
     return bm;
 }
 
diff --git a/samplecode/SampleCircle.cpp b/samplecode/SampleCircle.cpp
index b101a1f..9cc927e 100644
--- a/samplecode/SampleCircle.cpp
+++ b/samplecode/SampleCircle.cpp
@@ -71,12 +71,6 @@
         }
     }
 
-    static void blowup(SkCanvas* canvas, const SkIRect& src, const SkRect& dst) {
-        SkBaseDevice* device = canvas->getDevice();
-        const SkBitmap& bm = device->accessBitmap(false);
-        canvas->drawBitmapRect(bm, &src, dst, NULL);
-    }
-
     static void make_poly(SkPath* path, int n) {
         if (n <= 0) {
             return;
diff --git a/samplecode/SampleLayers.cpp b/samplecode/SampleLayers.cpp
index 483943d..bc8b873 100644
--- a/samplecode/SampleLayers.cpp
+++ b/samplecode/SampleLayers.cpp
@@ -42,10 +42,10 @@
     SkCanvas::LayerIter iter(canvas, true);
     int index = 0;
     while (!iter.done()) {
-        const SkBitmap& bm = iter.device()->accessBitmap(false);
+        SkImageInfo info = iter.device()->imageInfo();
         const SkIRect& clip = iter.clip().getBounds();
         SkDebugf("Layer[%d] bitmap [%d %d] X=%d Y=%d clip=[%d %d %d %d] alpha=%d\n", index++,
-                 bm.width(), bm.height(), iter.x(), iter.y(),
+                 info.width(), info.height(), iter.x(), iter.y(),
                  clip.fLeft, clip.fTop, clip.fRight, clip.fBottom,
                  iter.paint().getAlpha());
         iter.next();
