【问题标题】:How to add text to a drawable如何将文本添加到可绘制对象
【发布时间】:2020-04-05 00:02:04
【问题描述】:

我想通过在现有图像上添加文本来编辑图像。 我试过了,但是 ImageView 中的drawable消失了:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    Button btnAdd=(Button) findViewById(R.id.btnAdd);
    btnAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText firstNum=(EditText)findViewById(R.id.fisrtNum);
            EditText secondNum=(EditText)findViewById(R.id.secondNum);
            TextView sumTV=(TextView)findViewById(R.id.sumTV);
            ImageView picIV=(ImageView) findViewById(R.id.picIV);

            Bitmap bitmap = Bitmap.createBitmap(300, 200, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

            paint.setTextSize(42);
            paint.setTextAlign(Paint.Align.CENTER);
            canvas.drawText("hello world",150,30,paint);
            paint.setColor(Color.BLUE);
            canvas.drawCircle(50, 50, 10, paint);
            picIV.setImageBitmap(bitmap);

            picIV.setImageDrawable(new BitmapDrawable(getResources(), bitmap));
            sumTV.setText(result+"");

        }
    }
}

提前感谢您帮助我们找到解决方案。我的目标是能够编辑图像并将其发送到其他应用程序。

【问题讨论】:

标签: java android android-studio android-drawable


【解决方案1】:

感谢您的链接。非常有帮助。 原来我没有正确声明我的位图。

这样就解决了问题

            picIV.buildDrawingCache();
            Bitmap bitmap= picIV.getDrawingCache();

这是一种已弃用的方法,但它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多