1

これは私の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

どこが間違っているのですか?


アップデート

アプリケーションを再デプロイした後は正常に動作しますが、何も変更しませんでした。不思議ですが、この質問はここに残しておきたいと思います。いつかまた現れるかもしれません。

4

1 に答える 1

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()、さまざまなソースからビットマップを作成するためのいくつかのデコードメソッドなどを提供します。

于 2012-09-21T07:35:52.617 に答える