0
私のアプリでは、ギャラリーから画像を選択する必要があります。たとえば、インターネットからダウンロードした単純なイメージを選んだ場合、正常に動作します。私は写真を自分の携帯電話上で行わ選ぶなら、私は写真を読み込むためにグライドを使用しW/OpenGLRenderer: Bitmap too large to be uploaded into a texture (4160x3120, max=4096x4096)
ギャラリーから選択した画像のスケーリングまたは比例リサイズ
を得る。これは、画像をピックアップし、それからビットマップを作成し、私のコードでこの
Caused by: java.lang.IllegalArgumentException: Unknown type class android.graphics.Bitmap. You must provide a Model of a type for which there is a registered ModelLoader, if you are using a custom model, you must first call Glide#register with a ModelLoaderFactory for your custom model class
を与えます。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// When an Image is picked
if (requestCode == SELECT_PHOTO && resultCode == RESULT_OK
&& null != data) {
Uri imageUri = data.getData();
InputStream inputStream;
try {
inputStream = getContentResolver().openInputStream(imageUri);
Bitmap image = BitmapFactory.decodeStream(inputStream);
commentImage = (ImageView) findViewById(R.id.comment_image);
//Glide.with(this).load(image).asBitmap().override(4095, 4095).into(commentImage);
commentImage.setImageBitmap(image);
//commentImage.setImageBitmap(Bitmap.createScaledBitmap(image, 4095, 2048, false));
Toast.makeText(this, "SUCCESS", Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
// show a message to the user indictating that the image is unavailable.
Toast.makeText(this, "Unable to open image", Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(this, "You haven't picked Image",
Toast.LENGTH_LONG).show();
}
}
イメージが大きすぎる場合は、どのようにイメージを拡大縮小できますか?
、それはまだ 'W/OpenGLRenderer言う:TheAlcatras21 @テクスチャにアップロードするには大きすぎるビットマップ(4160x3120、最大= 4096×4096)' – TheAlcatras21
:画像は本当に大きないるように見える、ので試してみましょう品質は80(20%圧縮)です。エラーが示すように、圧縮後、解決は4160x3120であり、可能な最大は4096x4096です。 –