赞
踩
下面生成图片的方法我会引用一个布局,布局我就不贴了,我说一些大家要主要的地方
布局:
引用了R.layout.ll_bitmap这个xml文件的布局
这个id (R.id.ll_layout)是最外面的一个布局 最好是LayoutInflater ,如果有其他的都布局请在外面写一个.要不然很容易出问题(RelativeLayout)
生成图片
private Bitmap getBitmap() {
Bitmap bitmap = null;
LayoutInflater factorys = LayoutInflater.from(this);
final View textEntryView = factorys.inflate(R.layout.ll_bitmap, null);
View ll = textEntryView.findViewById(R.id.ll_layout);
TextView textView = (TextView) textEntryView.findViewById(R.id.tvbitmap_sfz);
textView.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/OCRB10N.TTF"));
ll.setDrawingCacheEnabled(true);
ll.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
ll.layout(0, 0, ll.getMeasuredWidth(), ll.getMeasuredHeight());
bitmap = Bitmap.createBitmap(ll.getDrawingCache());
ll.setDrawingCacheEnabled(false);
return bitmap;
}
这个是上面的Bitmap存到sd卡里面 大家自己根据情况写
权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
private void saveCroppedImage(Bitmap bmp) {
File file = new File("/sdcard/myFolder");
if (!file.exists())
file.mkdir();
file = new File("/sdcard/temp.jpg".trim());
String fileName = file.getName();
String mName = fileName.substring(0, fileName.lastIndexOf("."));
String sName = fileName.substring(fileName.lastIndexOf("."));
// /sdcard/myFolder/temp_cropped.jpg
String newFilePath = "/sdcard/myFolder" + "/" + mName + "_cropped" + sName;
file = new File(newFilePath);
try {
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
bmp.compress(CompressFormat.JPEG, 50, fos);
fos.flush();
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。