zxd_72 2013-09-25 08:35 采纳率: 0%
浏览 4472
已采纳

如何改变 android 代码的 buffered image 和 graphics?

我用下面的 Java 代码创建了 BufferedImage 和 Graphics,如何把下面的 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条回答

  • longhai326 2013-09-25 10:40
    关注

    不知道你为什么传进去的是BufferedImage,返回值也是BufferedImage。
    Android 中图片类用Bitmap,网上搜索Bitmap用法,或查看Api
    public static Bitmap readBitmap(Context context, int resId) {
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inPreferredConfig = Bitmap.Config.RGB_565;
    opt.inPurgeable = true;
    opt.inInputShareable = true;
    // 获取资源图片
    InputStream is = context.getResources().openRawResource(resId);
    return BitmapFactory.decodeStream(is, null, opt);
    }

    public static Drawable getImageFromAssetsFile(Context context,
            String fileName) {
        Drawable image = null;
        BitmapFactory.Options opt = new BitmapFactory.Options();
        opt.inPreferredConfig = Bitmap.Config.RGB_565;
        opt.inPurgeable = true;
        opt.inInputShareable = true;
        AssetManager am = context.getResources().getAssets();
        try {
            InputStream is = am.open(fileName);
            Bitmap bmp = BitmapFactory.decodeStream(is, null, opt);
            image = new BitmapDrawable(bmp);
            is.close();
            bmp = null;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return image;
    }
    

    也可以和Drawable互相转换

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog