我问了this关于在画布上绘制文字的问题,我被告知我可以在布局中添加文本视图,并将布局绘制到画布,如this
我的问题是,当我尝试转换为bmp并显示时,我得到一个黑色矩形。
这是我的代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Wubwub</title>
</head>
<body>
Jojo
</body>
</html>
我知道我错了,但我不知道在哪里,我想我正在按照正确的步骤......
有人能指出我哪里出错了。感谢
答案 0 :(得分:1)
我无法理解画布上绘制文本的问题,但请尝试:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView) findViewById(R.id.image_for_test_displaying);
imageView.setImageBitmap(getBitmapFromArabicText("صيققق٣يفاوووووومالؤؤتمكا"));
}
private Bitmap getBitmapFromArabicText(String string) {
Paint paint = new Paint();
//size can be customized
Bitmap bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
//Draw black background
paint.setColor(Color.BLACK);
canvas.drawRect(0, 0, bitmap.getWidth(), bitmap.getHeight(), paint);
//draw white text
paint.setColor(Color.WHITE);
//text position you can manage from yourself
canvas.drawText(string, 10, 10, paint);
return bitmap;
}
}
答案 1 :(得分:0)
您没有从布局创建 <AddToDoTextBox handleUpdate={this.updateValue.bind(this)}/>
<AddToDoButton handleClick={this.clickHandler.bind(this)}/>
。使用以下代码创建它:
Bitmap
答案 2 :(得分:0)
这个问题可能已经得到解答,但这是我的简单解决方案,用于确保背景和视图本身显示正常。 “内容”是一个表格布局。
Bitmap foreground = Bitmap.createBitmap(content.getWidth(), content.getHeight(),
Config.ARGB_8888);
Canvas canvas = new Canvas(foreground);
canvas.drawColor(Color.WHITE);
content.draw(canvas);
答案 3 :(得分:0)
我有同样的问题。 在根布局上设置背景属性可以解决我的问题。