将图像复制到内存中

3

我如何将图片复制到内部存储器并在之后进行恢复?


你说的“恢复”是什么意思?能具体说明一下吗? - Bryan Denny
2个回答

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;
}

我需要复制内部存储器中的一张图片。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接