如何使我的 editText 写入内容,在 Bitmap 上写入我找到了这段代码,但它不起作用
EditText et = (EditText) findViewById(R.id.etWrite);
Bitmap b = Bitmap.createBitmap(500,500,Bitmap.Config.Alpha_8);
Canvas c = new Canvas(b);
et.draw(c);
我想我应该使用 currentBitmap 我想,我试过但它不起作用
如何使我的 editText 写入内容,在 Bitmap 上写入我找到了这段代码,但它不起作用
EditText et = (EditText) findViewById(R.id.etWrite);
Bitmap b = Bitmap.createBitmap(500,500,Bitmap.Config.Alpha_8);
Canvas c = new Canvas(b);
et.draw(c);
我想我应该使用 currentBitmap 我想,我试过但它不起作用
试试我给你看的东西:
EditText et = (EditText) findViewById(R.id.etWrite);
et.buildDrawingCache();
Bitmap bmp = Bitmap.createBitmap(et.getDrawingCache());
Canvas c = new Canvas(bmp);
et.draw(c);
希望它有效!
Bitmap.Config.ALPHA_8
仅绘制 Alpha 通道。使用Bitmap.Config.ARGB_8888
.
此代码应该足以将生成的位图放到视图中。
EditText et = (EditText) findViewById(R.id.etWrite);
et.buildDrawingCache();
Bitmap bitmap = et.getDrawingCache();
现在使用以下行进行普通视图
view.setBackgroundDrawable(new BitmapDrawable(bitmap));
用于图像视图
imageview.setImageDrawable(new BitmapDrawable(bitmap));
AFAIK draw 方法将覆盖您使用画布传递给它的位图的像素值。
好的,所以这可能有点晚了,但基本上,您需要使用这些调用在画布上进行写入。首先,使用 OnFocusChanged 侦听器将您的 edittext 文本设置为字符串,然后在画布的 Ondraw(c) 调用中将其写入画布。在你这样做之前,虽然你需要一个字符串来从你的编辑文本中写入(etstring),并且你需要声明一个绘制对象。
Paint paint= new Paint();
paint.setTypeface(Typeface.SERIF); //sets typface
int textx = screenwidth/2; //use screenwidth/2 to center the text
c.drawText(etstring, textx, 85, paint); //85 is the height