2012-02-27 62 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); 
     }