这是我的android代码:
InputStream input = getAssets().open("photo.jpg");
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(input, null, options);
System.out.println("### img size: " + options.outWidth + "x" + options.outHeight);
但我发现无论我的图像有多大,它都会打印出来:
### img size: 100x100
哪里错了?
更新
我重新部署应用程序后它工作正常,但我没有修改任何内容。这很奇怪,但我想在这里保留这个问题,也许有一天它会出现。
答案 0 :(得分:0)
//读取位图尺寸和类型
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;
//您没有分配对象名称
InputStream input = getAssets().open("photo.jpg");
BitmapFactory类提供了几种解码方法(decodeByteArray(), decodeFile(), decodeResource()
等,用于从各种来源创建位图。