【问题标题】:Adding text on top of an image using a Canvas - Android使用 Canvas 在图像上添加文本 - Android
【发布时间】:2012-08-14 16:47:27
【问题描述】:

我想在图片上添加一些文字。 我从 sd 卡读取图像并将其设置为 Bitmap 变量。

Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

然后我将它添加到画布上。我使用的代码如下,

Canvas c = new Canvas(myBitmap);

但是当我添加这一行时,应用程序在那时崩溃了。为什么会这样,我该如何解决??

注意:上面提到的代码行在 onActivityResult 方法内。

【问题讨论】:

标签: android android-canvas android-imageview


【解决方案1】:

您的应用程序崩溃是因为您的

BitmapFactory.decodeFile

返回不可变位图,public Canvas (Bitmap bitmap) 只接受可变位图。

要解决您的问题,您必须将不可变位图转换为可变 see here the method

如果您只定位 >= API 11 ,则可以使用

final BitmapFactory.Options options = new BitmapFactory.Options();
options.inMutable = true;
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath(), options);

【讨论】:

    猜你喜欢
    • 2012-11-29
    • 2019-05-20
    • 1970-01-01
    • 2017-04-28
    • 2013-02-13
    • 2013-03-27
    • 2013-04-28
    • 2016-11-09
    • 1970-01-01
    相关资源
    最近更新 更多