字符串转位图

3

有没有办法或者如何使用Java为Android开发从字符串创建位图?

我查看了位图的Java API,但找不到相关信息。


1
你所说的字符串是什么意思?你是在谈论类似于base64编码字符串这样的东西吗? - blessanm86
只是测试,一个字符数组。我只需要创建一个96 x 96像素大小的位图。 - Robert de Klerk
您可以创建位图并从任何来源(包括字符串)设置像素值。如何操作完全取决于字符串的内容以及您希望其表示什么含义。您能给出更具体的信息吗? - Ted Hopp
3个回答

3
你可以使用bitmap工厂的decodebytearray方法,例如:
byte[] imageAsBytes = Base64.decode(myImageData.getBytes());
Bitmap bp = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);

如果你有一个数组,只需将其传递给decodeByteArray方法。

其中myImageData是一个base64字符串。


0
假设您的图像数据存储在名为myImageData的字符串中,下面的代码应该可以解决问题:
byte[] imageAsBytes = Base64.decode(myImageData.getBytes());
ImageView image = (ImageView)this.findViewById(R.id.ImageView);
image.setImageBitmap(
        BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
);

关于Base64解码,由于Android在2.2版本之前不支持Base64,因此您可以使用http://iharder.sourceforge.net/current/java/base64/

请注意,我并没有实际运行过这段代码,因此您需要仔细检查是否存在错误。

更多链接: 使用画布 http://developer.android.com/reference/android/graphics/Canvas.html


你本可以直接指向这里,而不是逐字复制:https://dev59.com/_W865IYBdhLWcg3wduWH - Scott A

0

通过创建位图在画布上绘制文本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接