如何通过文件流将很多图片存入SD卡,而不是自己内存
2014-10-11 09:56
411 查看
读懂它就可以了。
Integer[] picTbl = {
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5,
R.drawable.pic6,
R.drawable.pic7,
R.drawable.pic8,
R.drawable.pic9,
R.drawable.pic10
};
//把所有的图先保存到Sd卡本地
void AllSaveBitmap()
{
String FileStr ="/pic";
String FileStr1="";
int k = 0;
for(int i = 0 ; i < 10 ;i++)
{
k = i +1;
FileStr1 = FileStr + k+".PNG";
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
opt.inPurgeable = true;
opt.inInputShareable = true;
bitmap = BitmapFactory.decodeFile("/sdcard/pic/" +FileStr1,opt);
if(bitmap == null)
{
mBitmap = ReadBitMap(mContext, picTbl);//
mBitmapWidth = mBitmap.getWidth();
mBitmapHeight = mBitmap.getHeight();
bitmap=Bitmap.createScaledBitmap (mBitmap,mBitmapWidth,mBitmapHeight,true);
//FileStr = FileStr + k+".PNG";
SaveBitmap(bitmap,FileStr1);
}
}
}
//保存到本地
public void SaveBitmap(Bitmap bmp,String FileStr)
{
Bitmap bitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.ARGB_8888);
// Bitmap bitmap=Bitmap.createScaledBitmap (bmp,bmp.getWidth(), bmp.getHeight(),true);
Canvas canvas = new Canvas(bitmap);
//加载背景图片
// Bitmap bmps = BitmapFactory.decodeResource(getResources(), R.drawable.playerbackground);
// canvas.drawBitmap(bmps, 0, 0, null);
//加载要保存的画面
canvas.drawBitmap(bmp, 0, 0, null);
//保存全部图层
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
//存储路径
File file = new File("/sdcard/pic/");
if(!file.exists())
file.mkdirs();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file.getPath() + FileStr);//"/xuanzhuan.jpg");
bmp.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
fileOutputStream.close();
System.out.println("saveBmp is here");
} catch (Exception e) {
e.printStackTrace();
}
}
Integer[] picTbl = {
R.drawable.pic1,
R.drawable.pic2,
R.drawable.pic3,
R.drawable.pic4,
R.drawable.pic5,
R.drawable.pic6,
R.drawable.pic7,
R.drawable.pic8,
R.drawable.pic9,
R.drawable.pic10
};
//把所有的图先保存到Sd卡本地
void AllSaveBitmap()
{
String FileStr ="/pic";
String FileStr1="";
int k = 0;
for(int i = 0 ; i < 10 ;i++)
{
k = i +1;
FileStr1 = FileStr + k+".PNG";
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
opt.inPurgeable = true;
opt.inInputShareable = true;
bitmap = BitmapFactory.decodeFile("/sdcard/pic/" +FileStr1,opt);
if(bitmap == null)
{
mBitmap = ReadBitMap(mContext, picTbl);//
mBitmapWidth = mBitmap.getWidth();
mBitmapHeight = mBitmap.getHeight();
bitmap=Bitmap.createScaledBitmap (mBitmap,mBitmapWidth,mBitmapHeight,true);
//FileStr = FileStr + k+".PNG";
SaveBitmap(bitmap,FileStr1);
}
}
}
//保存到本地
public void SaveBitmap(Bitmap bmp,String FileStr)
{
Bitmap bitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.ARGB_8888);
// Bitmap bitmap=Bitmap.createScaledBitmap (bmp,bmp.getWidth(), bmp.getHeight(),true);
Canvas canvas = new Canvas(bitmap);
//加载背景图片
// Bitmap bmps = BitmapFactory.decodeResource(getResources(), R.drawable.playerbackground);
// canvas.drawBitmap(bmps, 0, 0, null);
//加载要保存的画面
canvas.drawBitmap(bmp, 0, 0, null);
//保存全部图层
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
//存储路径
File file = new File("/sdcard/pic/");
if(!file.exists())
file.mkdirs();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file.getPath() + FileStr);//"/xuanzhuan.jpg");
bmp.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
fileOutputStream.close();
System.out.println("saveBmp is here");
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章推荐
- 通过文件流将很多图片存入SD卡
- C语言把内存的文件保存到硬盘时如何把文件名由用户通过屏幕自己设置,并且保存到指定的路径
- 如何通过图片测试自己的性格特征?
- IOS如何通过点击图片响应内存的图片库
- tensorflow如何读取自己的image图片(通过Queue生成batch)
- 如何向richtext格式的文件或文件流中添加图片
- 鉴于《一步一步SharePoint 2007》系列文章中,很多文章中的图片无法显示,现紧急开通笔者自己的博客网站——www.eallies.com网站
- 如何在ASP.Net 中把图片存入数据库
- 如何从内存中获取图片
- 如何不通过其他工具,把图片、声音等存储到sql中(载自http://blog.csdn.net/softj处)
- [转载]如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 请问如何解决WORD转HTML是出现的“内存或磁盘空间不足,无法显示或打印图片”这个问题?
- asp.net如何把图片存入mssql并显示
- 如何通过java或jsp向数据库存取二进制图片
- 通过了软件设计师的考试,虽然不是很有含金量,但也算是对自己的一个总结,对自己能力的一个肯定.
- 不是网管,如何保护自己防止ARP欺骗
- 如何把图片存入到数据库
- 如何通过一个图片的URL得到该图片的尺寸大小?
- CSDN如何把图片存入到数据库