2012-02-27 26 views
3

我想製作圖像的縮略圖。圖像位於資源可繪製的圖像中。任何人都可以幫助我。來自資源的圖像的縮略圖

+2

你想展示它就像縮略圖或使其縮略圖並保存它? – 2012-02-27 07:19:12

+0

我想製作圖像的縮略圖並將其保存在SD卡中 – 2012-02-27 08:32:34

回答

9

試試這個代碼

 im=(ImageView)findViewById(R.id.imageView1); 

    byte[] imageData = null; 

    try 
    { 

    final int THUMBNAIL_SIZE = 64; 
    //InputStream is=getAssets().open("apple-android-battle.jpg"); 
    FileInputStream fis = new FileInputStream("/sdcard/apple.jpg"); 
    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(); 
    im.setImageBitmap(imageBitmap); 
    } 
    catch(Exception ex) { 

    } 
+0

thankzzzzzzzzzzzzzzzzz – 2012-12-28 05:29:04

0

//讀取你可繪製

InputStream is = getResources().openRawResource(R.drawable.ic_launcher); 
Bitmap   mThumbnail = scaleBitmap(BitmapFactory.decodeStream(is)); 

//現在你可以保存位圖mThumbnail到SD卡

/*convert your image to an thumbnail view */ 
private static Bitmap scaleBitmap(Bitmap source) { 
       int maxSize = source.getWidth() > source.getHeight() ? source.getWidth() : source.getHeight(); 
     return Bitmap.createScaledBitmap(source, source.getWidth() * 96/maxSize, source.getHeight() * 96/maxSize, true); 
     }