Ho bisogno di ridimensionare un'immagine prima di crearla e voglio farlo solo se supera i 1024KB (per esempio).Come conoscere una dimensione Bitmap da InputStream prima di creare la bitmap?
Effettuando le operazioni seguenti è possibile ridimensionare l'immagine ma è necessario ridimensionare solo quelle più grandi rispetto alla dimensione specificata.
Bitmap bmImg = null;
InputStream is = url.openStream();
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 10;
bmImg = BitmapFactory.decodeStream(is,null,opts);
Come posso ottenere la dimensione di Bitmap? (Sono felice di sapere la quantità di byte, non le dimensioni dopo la decompressione).
Edit:
sto cercando questo:
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inJustDecodeBounds = true;
Bitmap bmImg=BitmapFactory.decodeStream(is,null,opts);
Log.e("optwidth",opts.outWidth+"");
Bitmap bmImg1 = BitmapFactory.decodeStream(is);
La prima volta che uso l'InputStream (è) per decodificare con i "inJustDecodeBounds" funziona bene e posso ottenere la Dimensioni bitmap. Il problema è che la seconda volta che lo uso per decodificare effettivamente l'immagine, non viene mostrata alcuna immagine.
Cosa sto sbagliando?
Questo in realtà funziona, ma è molto più lento. – sergi