我用下面的 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互相转换
添加回答
举报
0/150
提交
取消