Bok*_*hak 7 java base64 svg android
我有SVG文件编码为base64,我想用ImageView显示图像.这是我试过的:
// imageBase64 is string that represents the SVG image encoded as base64
byte[] decodedString = Base64.decode(imageBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Run Code Online (Sandbox Code Playgroud)
但decodeByte总是返回null.
PS:
(这是基于罗伯特·朗森的富有洞察力的评论。)
您的问题与base64编码无关。它比这更根本。
您当前采用的方法不起作用,因为BitmapFactory只能解码位图文件格式。该类Bitmap仅表示 PNG、JPG 和 GIF 格式;请参阅javadoc。(SVG 是矢量图形格式,而不是位图格式。)
第二个问题是 Android 目前没有对ImageView. 所以你有两种选择:
使用嵌入式浏览器窗口显示 SVG 图形。Android 3+ 默认浏览器支持 SVG。(Android 2 浏览器不支持,尽管有可能的解决方法。)
使用第 3 方 SVG 库。有些示例使用Picture对象,而其他示例则使用 的子类ImageView。研究选项并选择最能满足您要求的选项。
有关替代方案的更多详细信息,请阅读以下问题的各种答案:
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |