gpt4 book ai didi

android - 将 Canvas 转换为位图 Android - 黑色背景

转载 作者:行者123 更新时间:2023-11-30 02:01:29 25 4
gpt4 key购买 nike

我问了this关于将文本绘制到 Canvas 的问题,我被告知我可以将 TextView 添加到布局并将布局绘制到 Canvas ,如 this

我的问题是,当我尝试转换为 bmp 并显示时,我得到一个黑色矩形。

这是我的代码:

  LinearLayout layout = new LinearLayout(getActivity());
TextView textView = new TextView(getActivity());
textView.setVisibility(View.VISIBLE);
textView.setText("صيققق٣يفاوووووومالؤؤتمكا");
layout.addView(textView);
layout.setBackgroundColor(getActivity().getResources().getColor(R.color.transparent));
textView.setTextColor(getResources().getColor(R.color.white));
layout.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
Bitmap bitmap = Bitmap.createBitmap(layout.getMeasuredWidth(), layout.getMeasuredHeight(), Bitmap.Config.RGB_565);
//layout.draw(canvas);
Canvas canvas = new Canvas(bitmap);
layout.layout(0,0, canvas.getWidth(), canvas.getHeight());
layout.draw(canvas);

我知道我错了,但我不知道在哪里,我想我正在按照正确的步骤..

谁能指出我哪里出错了。谢谢

最佳答案

我不明白在 Canvas 上绘制文本有什么问题,但试试看:

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;
}
}

关于android - 将 Canvas 转换为位图 Android - 黑色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com