如何更改android中的缓冲图像和图形?

时间:2013-09-25 06:39:02

标签: java android graphics bitmap bufferedimage

我需要将Java代码更改为Android。

我正在使用BufferedImageGraphics的Java代码。我应该如何将以下Java代码更改为Android。

我的代码是,

public static BufferedImage buff(BufferedImage bi){
    if (isGray(bi)){
        return bi;
    }
    BufferedImage gray = new BufferedImage(bi.getWidth(), bi.getHeight(), 10);
    Graphics gr = gray.getGraphics();
    gr.drawImage(bi, 0, 0, null);
    gr.dispose();
    return gray;
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

javax.imageio不在Android SDK中,但可以使用Bitmap类,如果要转换为灰色,可以使用:

public static Bitmap toGrayscale(Bitmap bm) {
    Bitmap bmpGrayscale = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), 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(bm, 0, 0, paint);
    return bmpGrayscale;
}