Ich brauche Thumbnail eines Bildes. Ich weiß nur über den Namen des Bildes, das auf der SD-Karte gespeichert ist. Kann mir jemand helfen.bekommen Bild Text in Android
Antwort
Versuchen Sie es.
final int THUMBSIZE = 64;
Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath),
THUMBSIZE, THUMBSIZE);
Refer this für weitere Details.
das funktioniert für mich. Vielen Dank. –
Sollte ich diesen Code auf Haupt-Thread aufrufen? –
Was ist 'imagePath'? –
byte[] imageData = null;
try
{
final int THUMBNAIL_SIZE = 64;
FileInputStream fis = new FileInputStream(fileName);
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
Float width = new Float(imageBitmap.getWidth());
Float height = new Float(imageBitmap.getHeight());
Float ratio = width/height;
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, (int)(THUMBNAIL_SIZE * ratio), THUMBNAIL_SIZE, false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
imageData = baos.toByteArray();
}
catch(Exception ex) {
}
MediaStore.Images.Thumbnails
Verwenden Sie können zwei Arten von Thumbnails abfragen und erhalten: MINI_KIND: 512 x 384 Miniaturbild MICRO_KIND: 96 x 96 Miniaturbild.
Der Vorteil dieses Aufrufs besteht darin, dass die Miniaturansichten vom MediaStore zwischengespeichert werden. Der Abruf wäre also schneller, wenn das Vorschaubild zuvor erstellt wurde.
Wenn Sie HQ-Miniaturbilder mögen, verwenden Sie die [RapidDecoder] [1] -Bibliothek. Es ist einfach wie folgt:
import rapid.decoder.BitmapDecoder;
...
Bitmap bitmap = BitmapDecoder.from(getResources(), R.drawable.image)
.scale(width, height)
.useBuiltInDecoder(true)
.decode();
Vergessen Sie nicht eingebaute Decoder zu verwenden, wenn Sie weniger als 50% verkleinern wollen und ein HQ Ergebnis.
was willst du mit diesem thumbnail machen –