+ // Paint |bitmap| to a kA8_Config SkBitmap
+ SkBitmap a8Bitmap;
+ a8Bitmap.setConfig(SkBitmap::kA8_Config,
+ bitmap.width(),
+ bitmap.height(),
+ 0);
+ a8Bitmap.allocPixels();
+ SkCanvas canvas(a8Bitmap);
+ SkPaint paint;
+ SkColorFilter* filter = SkLumaColorFilter::Create();
+ paint.setColorFilter(filter);
+ filter->unref();
+ canvas.drawBitmap(bitmap, SK_Scalar1, SK_Scalar1, &paint);
+ // Encode the a8Bitmap to grayscale PNG treating alpha as color intensity
+ if (gfx::PNGCodec::EncodeA8SkBitmap(a8Bitmap, &data))