在位图上写注释
我在 ImageView 上显示了一个位图,现在我想提供一个工具来在该位图上编写用户输入的注释。
我尝试使用
Canvas canvas = new Canvas(srcBitmap); canvas.drawText("Hello", 100,100,null);
但这给了我以下错误
java.lang.IllegalStateException: 传递给 Canvas 的不可变位图 构造函数
稍后我想将整个图像保存为位
I have a bitmap displayed on ImageView now i want to give a facility to write comment typed by the user on that bitmap.
i tried using
Canvas canvas = new Canvas(srcBitmap); canvas.drawText("Hello", 100,100,null);
but this is giving me following error
java.lang.IllegalStateException:
Immutable bitmap passed to Canvas
constructor
later on i want to save this whole image a bitmap
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你从哪里得到你的位图?从异常来看,这意味着您正在直接使用无法修改的资源/资产(它在实际的 apk 中)。为了避免这种情况,您需要复制位图并将其用于画布。这里有一些示例可供使用。
Where did you get your bitmap from? From the exception it means that you are using a resource/asset directly which can not be modified (it is in the actual apk). To avoid this you need to make a copy of the bitmap and use it for the canvas. Here you got some examples to work with.
正如莫斯指出的,位图需要是可变的。这是一些源代码,您可以如何做到这一点:
As Moss pointed out, the bitmap needs to be mutable. Here is some source code how you can do it: