0

我正在尝试将我从休息调用中获得的图像转换为灰度,但是我需要保持透明度,因为图像是地图上的叠加层。我试过 :

Bitmap bmpGrayscale = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
Canvas c = new Canvas(bmpGrayscale);
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm);
paint.setColorFilter(f);
c.drawBitmap(bmpOriginal, 0, 0, paint);

但它不能保持透明度......所以如果你们中的任何人有一个想法,我会很高兴测试它。

谢谢 !

4

1 回答 1

3

您的 Bitmap.Config 是 RGB_565,它没有作为透明层的 alpha。试试 ARGB_8888。

于 2012-10-11T22:25:03.660 回答