我正在尝试在图库中打开已保存的图像,并在此打开的图像上写下一些文本后,尝试关闭它。但到目前为止,它并没有奏效。你能告诉我我做错了吗?
**我检查了路径,这是正确的。这是我的代码:
String path = android.os.Environment.getExternalStorageDirectory().toString() + "/DCIM/100LGDSC/";
String pathiki = path+filename;
Log.d("pathiki:",pathiki);
try {
Bitmap bm = BitmapFactory.decodeFile(pathiki);
Typeface tf = Typeface.create("Helvetica", Typeface.BOLD);
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.WHITE);
paint.setTypeface(tf);
paint.setTextAlign(Align.CENTER);
paint.setTextSize(14);
Canvas canvas = new Canvas(bm);
canvas.drawText("bla bla bla", 100, 100, paint);
OutputStream fOut = new FileOutputStream(new File(pathiki));
bm.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
fOut.flush();
fOut.close();
} catch (Exception e) {
// TODO: handle exception
e.toString();
}
答案 0 :(得分:1)
BitmapFactory.decodeFile始终返回不可变位图。使用Bitmap.copy制作可变的位图副本。现在对复制的位图执行修改。
Bitmap bm = BitmapFactory.decodeFile(pathiki).copy(Bitmap.Config.ARGB_8888, true);
更新异常处理程序代码。将e.getMessage()
记录到logcat
或使用e.printStackTrace()
。