Wie Sie wissen, eine Bitmap der Größe von InputStream vor dem erstellen der Bitmap?

Ich den Maßstab des Bildes vor dem erstellen von es und ich will es nur tun, wenn es mehr als 1024KB (zum Beispiel).

Indem Sie den folgenden tun ich kann das Bild skalieren, aber ich habe nur skalieren müssen diejenigen, die größer sind als die angegebene Größe.

Bitmap bmImg = null;
InputStream is = url.openStream();
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 10;
bmImg = BitmapFactory.decodeStream(is,null,opts);

Wie kann ich die Größe der Bitmap? (Ich bin froh, zu wissen, die Menge der bytes an, nicht die Größe nach dem entpacken).

Edit:

Ich versuche dieses:

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);

Das erste mal, dass ich den InputStream (wird) zu decodieren, die es mit der "inJustDecodeBounds" funktioniert gut und ich kann die Bitmap-Abmessungen.
Das problem ist, dass das zweite mal, dass ich es tatsächlich entschlüsseln das Bild, es wird kein Bild angezeigt.

Was mache ich falsch?

InformationsquelleAutor sergi | 2011-01-08
Schreibe einen Kommentar