imageview に表示する画像を選択するためにギャラリーを呼び出すコードがあります。これは正常に機能し、アスペクト比を維持します。問題は、画像サイズが 2048 x 2048 より大きい場合です。その場合は、次のコードを使用しています。
uriIsNowAbitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
//... int height = uriIsNowAbitmap.getHeight(); int width = uriIsNowAbitmap.getWidth(); if ((width>=2048)||(height>=2048)) { int newheight = height/10; // height in pixels int newwidth = width/10; // width in pixels Bitmap avatarScaled = Bitmap.createScaledBitmap(uriIsNowAbitmap, newwidth, newheight, true); previewNewAvatar.setImageBitmap(avatarScaled);
}
も正しく動作しますが、問題があります。画像は回転した横向きのタイプではありません
説明するために、この例を挙げます。これはギャラリーの写真です:
画像を選択してイメージビューに割り当てると、回転して表示されます。
私はなぜなのか理解していない。私は何千もの方法を試し、サイズ変更に関する多くの情報を読みました。この Web サイトのスレッドとサンプル コード ( Android: 高品質の画像のサイズ変更/スケーリング) などを読みましたが、何も役に立ちません。意図はこのように表示することです...フォトショップで作成してください:)
助けてくれてありがとう、それを修正するのに何時間もかかりました
よろしく