2013-01-01 20 views
8

मुझे किसी छवि का थंबनेल चाहिए। मुझे केवल छवि के नाम के बारे में पता है जो एसडी कार्ड में संग्रहीत है। क्या कोई मेरी मदद कर सकता है।एंड्रॉइड में छवि थंबनेल प्राप्त करना

+0

आप उस थंबनेल –

उत्तर

46

इसे आजमाएं।

final int THUMBSIZE = 64; 

Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), 
        THUMBSIZE, THUMBSIZE); 

Refer this अधिक जानकारी के लिए।

+2

के साथ क्या करना चाहते हैं यह मेरे लिए काम करता है। धन्यवाद। –

+0

क्या मुझे इस कोड को मुख्य धागे पर कॉल करना चाहिए? –

+0

'imagePath' क्या है? –

1
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) { 

} 
7

MediaStore.Images.Thumbnails का उपयोग करके आप क्वेरी और थंबनेल के दो प्रकार प्राप्त कर सकते हैं: MINI_KIND: 512 x 384 थंबनेल MICRO_KIND: 96 x 96 थंबनेल।

इस कॉल का उपयोग करने का लाभ यह है कि थंबनेल मीडियास्टोर द्वारा कैश किए जाते हैं। इसलिए अगर थंबनेल पहले बनाया गया था तो पुनर्प्राप्ति तेज होगी।

0

यदि आपको मुख्यालय थंबनेल पसंद हैं, तो [रैपिड डिकोडर] [1] लाइब्रेरी का उपयोग करें। यह इस प्रकार सरल है:

import rapid.decoder.BitmapDecoder; 
... 
Bitmap bitmap = BitmapDecoder.from(getResources(), R.drawable.image) 
          .scale(width, height) 
          .useBuiltInDecoder(true) 
          .decode(); 

निर्मित विकोडक उपयोग करने के लिए यदि आप नीचे पैमाने पर करने के 50% से कम है और एक मुख्यालय परिणाम चाहते हैं मत भूलना।