为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蓝山帝景 2019-03-29 23:19:09
我用下面的 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 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

不知道你为什么传进去的是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互相转换


查看完整回答
反对 回复 2019-04-30
  • 1 回答
  • 0 关注
  • 860 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信