zoukankan      html  css  js  c++  java
  • ILOG Elixir 3.0 去除水印

    IBM® ILOG® Elixir V3.0 为 Adobe® Flex® 4 和 Adobe AIR® 富 Internet 应用程序 (RIA) 自定义开发提供 11 个图形数据显示组件。IBM ILOG Elixir 通过一个高度图形化的交互式用户体验,帮助您将原始数据转换为清晰、可操作的信息。通过教程、演示和样本代码进一步了解如何使用 IBM ILOG Elixir 组件。

    国内的资源比较少,官方网站上有下载,不过需要ID号才能进去,好不容易在国外的一个网站找到安装包,不过是试用版的,好像有50开的试用。

    安装文件比较大,包含的内容当然也多,如果只需要SWC的话,可以从这里去下载:http://download.csdn.net/source/2647749

    但这个是试用版的,开发的时候,会有水印,根据前人去2.0水印的方法,http://blog.csdn.net/Kain/archive/2009/06/01/4232518.aspx

    特制作了3.0去水印的方式:

    方法一样,只是这次文件所在的包改变了,需要放在com.ibm.ilog.elixir.utils包下,在这个文件中找到enterFrameHandler这个方法,在方法最后的return前加一句

    this._textField.visible = false;//_textField应该那个水印的组件,设置为可见即可。

    在引用文件中引用这个类

    import com.ibm.ilog.elixir.utils.LicenseHandler;

    代码如下:

    代码
    package com.ibm.ilog.elixir.utils
    {
    import flash.display.*;
    import flash.events.*;
    import flash.filters.*;
    import flash.geom.*;
    import flash.net.*;
    import flash.system.*;
    import flash.text.*;
    import flash.ui.*;
    import mx.core.*;
    import mx.resources.*;

    public class LicenseHandler extends Object
    {
    private var _p:DisplayObjectContainer;
    private var _textField:TextField;
    private var _foreground:Sprite;
    private var _time:Number;
    private var _darkBackground:Boolean = false;
    private static const wmarkAfter:Number = 0;
    private static const dBuild:Number = 1.28173e+012;
    private static const wText:String = "Trial Version";
    private static const MENU_CAPTIONS:Array = [ResourceManager.getInstance().getString("ilogsparkutilities", "about.elixir"), ResourceManager.getInstance().getString("ilogsparkutilities", "about.elixirenterprise")];
    private static const DAY:Number = 86400000;
    private static const TRIAL_PERIOD_DAYS:Number = 5.3568e+009;

    public function LicenseHandler(p:DisplayObjectContainer, darkBackground:Boolean, time:Number)
    {
    this._p = p;
    this._time = time;
    this._darkBackground = darkBackground;
    this._p.addEventListener("enterFrame", this.enterFrameHandler);
    return;
    }
    // end function

    protected function checkVisible(p:DisplayObjectContainer) : Boolean
    {
    return true;
    }
    // end function

    private function enterFrameHandler(event:Event) : void
    {
    var _loc_2:Graphics
    = null;
    var _loc_3:UIComponent
    = null;
    var _loc_4:TextFormat
    = null;
    var _loc_5:String
    = null;
    var _loc_6:Array
    = null;
    var _loc_7:UIComponent
    = null;
    if (this._textField != null)
    {
    }
    if (!this.checkVisible(this._p))
    {
    this._textField.visible = false;
    return;
    }
    var _loc_8:
    * = new Point();
    var _loc_9:
    * = new Point(this._p.width, this._p.height);
    _loc_8
    = this._p.localToGlobal(_loc_8);
    _loc_9
    = this._p.localToGlobal(_loc_9);
    var _loc_10:
    * = Math.abs(_loc_9.x - _loc_8.x);
    var _loc_11:
    * = Math.abs(_loc_9.y - _loc_8.y);
    if (this._time > dBuild + TRIAL_PERIOD_DAYS)
    {
    if (!this._foreground)
    {
    this._foreground = new Sprite();
    this._foreground.mouseEnabled = false;
    }
    if (!this._foreground.parent)
    {
    if (this._p is Container)
    {
    _loc_3
    = new UIComponent();
    this._p.addChild(_loc_3);
    _loc_3.addChild(
    this._foreground);
    }
    else
    {
    this._p.addChild(this._foreground);
    }
    }
    this._foreground.width = this._p.width;
    this._foreground.height = this._p.height;
    _loc_2
    = this._foreground.graphics;
    _loc_2.clear();
    _loc_2.beginFill(
    1118481, (this._time - dBuild - TRIAL_PERIOD_DAYS) / (1 * DAY));
    _loc_2.drawRect(
    0, 0, this._p.width, this._p.height);
    _loc_2.endFill();
    }
    if (_loc_10 < 20)
    {
    }
    if (_loc_11 >= 20)
    {
    }
    if (!this._p.visible)
    {
    if (this._textField != null)
    {
    this._textField.visible = false;
    }
    return;
    }
    if (!this._textField)
    {
    this._textField = new TextField();
    this._textField.selectable = false;
    this._textField.autoSize = TextFieldAutoSize.CENTER;
    this._textField.textColor = 16777215;
    this._textField.backgroundColor = 0;
    _loc_4
    = new TextFormat();
    _loc_4.font
    = "Verdana";
    _loc_4.size
    = 32;
    _loc_4.bold
    = true;
    this._textField.defaultTextFormat = _loc_4;
    _loc_5
    = wText;
    if (_loc_5 != null)
    {
    }
    if (_loc_5.length < 1)
    {
    _loc_5
    = "IBM ILOG Elixir Trial";
    }
    if (this._time < dBuild + TRIAL_PERIOD_DAYS)
    {
    //_loc_5 = _loc_5 + (" " + Math.round((dBuild + TRIAL_PERIOD_DAYS - this._time) / DAY) + " Days Left过期吗");
    _loc_5 = "无期限";
    }
    else
    {
    _loc_5
    = _loc_5 + " Ended";
    }
    this._textField.text = _loc_5;
    this._textField.alpha = 0.35;
    this._textField.mouseEnabled = false;
    _loc_6
    = [];
    _loc_6.push(
    new GlowFilter(this._darkBackground ? (16777215) : (0), 1, 6, 6, 2, 1, false, true));
    this._textField.filters = _loc_6;
    this._textField.x = Math.round(-10 * Math.random());
    this._textField.y = Math.round(-40 * Math.random());
    }
    if (!this._textField.parent)
    {
    if (this._p is Container)
    {
    _loc_7
    = new UIComponent();
    this._p.addChild(_loc_7);
    _loc_7.addChild(
    this._textField);
    }
    else
    {
    this._p.addChild(this._textField);
    }
    }
    if (!this._textField.visible)
    {
    this._textField.visible = true;
    }
    this._textField.x = this._p.width / 2 - this._textField.width / 2;
    this._textField.y = this._p.height / 2 - this._textField.height / 2;
    this._textField.visible = false;
    return;
    }
    // end function

    public static function displayWatermark(where:DisplayObjectContainer, darkBackground:Boolean = false) : void
    {
    new LicenseHandler(where, darkBackground, new Date().getTime());
    return;
    }
    // end function

    public static function addElixirToMenu() : void
    {
    addToMenu(MENU_CAPTIONS[
    0], "http://www-01.ibm.com/software/integration/visualization/elixir/");
    return;
    }
    // end function

    public static function addElixirEnterpriseToMenu() : void
    {
    addToMenu(MENU_CAPTIONS[
    1], "http://www-01.ibm.com/software/integration/visualization/elixir-enterprise/");
    return;
    }
    // end function

    private static function addToMenu(menuText:String, url:String) : void
    {
    var item:ContextMenuItem;
    var menuText:
    * = menuText;
    var url:
    * = url;
    menuText
    = menuText;
    url
    = url;
    if (Security.sandboxType == Security.LOCAL_WITH_FILE)
    {
    return;
    }
    var menu:
    * = FlexGlobals.topLevelApplication.contextMenu;
    if (menu == null)
    {
    menu
    = new ContextMenu();
    FlexGlobals.topLevelApplication.contextMenu
    = menu;
    }
    var _loc_4:
    int;
    var _loc_5:
    * = menu.customItems;
    while (_loc_5 in _loc_4)
    {

    item
    = _loc_5[_loc_4];
    if (item.caption != MENU_CAPTIONS[0])
    {
    }
    if (item.caption == MENU_CAPTIONS[1])
    {
    return;
    }
    }
    item
    = new ContextMenuItem(menuText, true);
    item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function (event:ContextMenuEvent) :
    void
    {
    navigateToURL(
    new URLRequest(url));
    return;
    }
    // end function
    );
    menu.customItems.push(item);
    menu.customItems
    = menu.customItems;
    return;
    }
    // end function

    }
    }

    注意的是,第一次运行前,需要把这个项目clean一下,要不然很有可能还会有水印在。

    这个只是去除水印,不知道能不能解除50天的限制,因为我的试用时间还没有到。。。。

  • 相关阅读:
    PHP 对Memcache的使用实例
    PHP Memcache 扩展安装
    Effective STL 读书笔记
    windows下安装和使用scrapy
    使用insert ignore来避免向数据库重复插入数据
    2017年末
    归并排序
    二叉树的中序遍历
    正则表达式
    tinymq学习小结
  • 原文地址:https://www.cnblogs.com/liongis/p/1808789.html
Copyright © 2011-2022 走看看