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互相转换

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

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大