我需要将 edittext 中的字符串转换为位图,但我没有得到字符串,而是得到了这个(见图)
我的代码如下
Canvas c=new Canvas();
MainActivity.editText.setCursorVisible(false);
MainActivity.editText.buildDrawingCache();
Bitmap bmp = Bitmap.createBitmap(MainActivity.editText.getDrawingCache());
System.out.println("string is "+MainActivity.editText.getText().toString());
File f =new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Photo Text");
if(!f.exists())
{
f.mkdirs();
}
f = new File(f.getAbsolutePath(),
String.valueOf(System.currentTimeMillis()) +"phototext.jpg");
if(!f.exists())
{
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
bmp.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(f));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.drawBitmap(bmp,0,0, mPaint);
请给我建议。我需要来自 edittext 的字符串作为位图。
最佳答案
为什么不获取 ExitText
的文本,然后使用 drawText()
在 Canvas
上绘制它?
String text = editText.getText().toString();
canvas.drawText(text, 0, 0, paint);
并根据文本的高度和长度设置 Canvas 的高度和宽度。
关于android - edittext.getdrawing 缓存不工作.Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19175314/