2010-11-09 31 views

回答

12

您可以使用openFileOutput()和Bitmap.compress()的以下組合,以將圖像存儲到內部存儲。

// Create a BitMap object of the image to be worked with 
final Bitmap bm = BitmapFactory.decodeStream(..some image..); 

// The openfileOutput() method creates a file on the phone/internal storage in the context of your application 
final FileOutputStream fos = openFileOutput("my_new_image.jpg", Context.MODE_PRIVATE); 

// Use the compress method on the BitMap object to write image to the OutputStream 
bm.compress(CompressFormat.JPEG, 90, fos); 
1

我會做的方式如下:

//read bitmap from resource 
public InputStream getBitmapStreamFromResource(Context context, int recourceId) 
{ 
    return context.getResources().getAssets().open(recourceId); 
} 


// convert stream into Bitmap 
public Bitmap getBitmapFromStream(InputStream is) 
{ 
    return BitmapFactory.decodeStream(is); 
} 

//inflate bitmap in a given parent View 
public View inflateToView(Context context, ViewGroup parent, Bitmap bitmap) 
{ 
    ViewGroup layout=new LinearLayout(context); 
    layout.setLayoutParams(new   ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
    ImageView imageView=new ImageView(context); 
    imageView.setEnabled(true); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
    imageView.setAdjustViewBounds(true); 
    imageView.setImageBitmap(bitmap); 
    layout.addView(imageView); 
    parent.addView(layout); 
    return layout; 
} 
+0

我需要在內部存儲器中複製圖像 – Alex 2010-11-09 16:54:43

相關問題