flex中使用amcharts

从网上了解到amCharts是一款不错的统计图表文件,但是该组件不是免费的,需要450欧元的银子啊,所以未授权版本的都会有一个水印在图表上,该怎么去掉这个水印呢?我们知道在flex中这个水印很有可能是一个封装好的对象,而flex中的对象都是继承与displayObject,因此我们可以试着重写组件,看能否找到这个水印,下面以AmSerialChart为例,以下为重写步骤:

1、新建flex工程,在工程右击属性的bulid path,添加swc文件,将amcharts添加好,如下图:

2、新建as文件,并继承AmSerialChart,代码如下:

public function AmSerialChart()
  {
   super();
  }

3、随便添加一个公共方法用来做断点跟踪,代码如下:

public function onClickTest():void{
   this;
  }
  4、在该方法中设置断点,在工程文件中使用该组件,并调用上边公共方法,进行断点跟踪,如下图:

在跟踪过程中发现_amchartsLink是一个可疑的display对象,所以试着设置它的可见性,当然这里面需要耐心的找,幸运的话会很快找到,当然也有可能找不到,哈哈

5、继续找创建该对象的方法,并重写该方法,我们可以用override关键字查找可疑方法,这里找到了createChildren()方法,所以我们重写该方法,代码如下:

override protected function createChildren():void{
   super.createChildren();
   if (_amchartsLink){
    _amchartsLink.visible=false;
    /*
    _amchartsLink.alpha=0;
    _amchartsLink.width=0;
    _amchartsLink.height=0;
    */
   }
  }

在这里设置_amchartsLink的visible属性为false,这时再运行程序,使用你扩展过的组件看一下,水印已经没有了,哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值