android svg解析画图

本文探讨了如何使用SVG矢量图在Android平台上实现室内地图应用,包括SVG图的介绍、Android解析SVG并显示的方法,以及具体实现过程和示例效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.概述

最近在做一个基于蓝牙的室内定位的项目,需要实现室内地图,查找了很多相关方面的资料,室内地图方面的技术还是比较空缺,室外的地图一般都是用经纬度做为坐标,而室内地图一般使用时间的米(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

下面为效果图:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值