为了账号安全,请及时绑定邮箱和手机立即绑定

Android将创建的位图保存到SD卡上的目录

Android将创建的位图保存到SD卡上的目录

POPMUISE 2019-11-13 15:02:02
我创建了一个位图,现在我想将该位图保存到某个目录中。谁能告诉我这是怎么做的。谢谢FileInputStream in;          BufferedInputStream buf;           try {                  in = new FileInputStream("/mnt/sdcard/dcim/Camera/2010-11-16_18-57-18_989.jpg");                  buf = new BufferedInputStream(in);                  Bitmap _bitmapPreScale = BitmapFactory.decodeStream(buf);                  int oldWidth = _bitmapPreScale.getWidth();                  int oldHeight = _bitmapPreScale.getHeight();                  int newWidth = 2592;                   int newHeight = 1936;                  float scaleWidth = ((float) newWidth) / oldWidth;                  float scaleHeight = ((float) newHeight) / oldHeight;                  Matrix matrix = new Matrix();               // resize the bit map                  matrix.postScale(scaleWidth, scaleHeight);                  Bitmap _bitmapScaled = Bitmap.createBitmap(_bitmapPreScale, 0, 0,  oldWidth, oldHeight, matrix, true);(我想将_bitmapScaled保存到SD卡上的文件夹中)
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

嗨,您可以将数据写入字节,然后在sdcard文件夹中创建一个具有所需名称和扩展名的文件,然后将字节写入该文件。这会将位图保存到sdcard。


ByteArrayOutputStream bytes = new ByteArrayOutputStream();

_bitmapScaled.compress(Bitmap.CompressFormat.JPEG, 40, bytes);


//you can create a new file name "test.jpg" in sdcard folder.

File f = new File(Environment.getExternalStorageDirectory()

                        + File.separator + "test.jpg");

f.createNewFile();

//write the bytes in file

FileOutputStream fo = new FileOutputStream(f);

fo.write(bytes.toByteArray());


// remember close de FileOutput

fo.close();


查看完整回答
反对 回复 2019-11-13
?
holdtom

TA贡献1805条经验 获得超10个赞

您也可以尝试一下。


  OutputStream fOut = null;

                        File file = new File(strDirectoy,imgname);

                            fOut = new FileOutputStream(file);


                        bitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut);

                            fOut.flush();

                            fOut.close();


                MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName());


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 333 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信