android svg解析画图

一.概述

最近在做一个基于蓝牙的室内定位的项目,需要实现室内地图,查找了很多相关方面的资料,室内地图方面的技术还是比较空缺,室外的地图一般都是用经纬度做为坐标,而室内地图一般使用时间的米(xy)作为坐标就可以了,用SVG矢量图作为室内地图,可以比较容易的实现室内地理坐标(xy)与地图的对应,实现比较简单的室内地图应用。

 

二.SVG图介绍

SVG是一种基于XML的矢量图,相对与位图存储空间较少,且可以无级缩放而不失真,比较容易改写XML内容,可以实现一些比较炫酷的动态效果。

 

三.Android解析SVG并显示

SVG是基于XML的,android解析XML有三种方法,SAXDOMPULLDOM解析需要比较多的内存,本文选取SAX解析XML。另外android 5.0起已经支持SVG图片解析,提供了不少的方便及参考。

SVG解释流程:首先先新建Picture类以实现对画图步骤命令的存储,在SAX解释的handle中实现对SVG内容的解析,PicturebeginRecording()方法返回canvas对象,把解释的内容画到返回的canvas对象中,实现SVG解释画图保存在Picture中。解析完以后可以定义一个控件来显示这个Picture

下面为效果图:

android svg解析画图_第1张图片

你可能感兴趣的:(android)