starUML4.0导出的图片去除水印的方法

再使用starUML导出图片的时候发现,导出图片的背景会显示unregister(未注册),非常影响观看效果,那么怎么才能把这个去掉呢?
在这里插入图片描述

一个现在3.0和4.0版本都能用的方法。

仅供学习使用!

starUML4.0

我下载的是starUML4.0.1,目前最新的版本。
在这里插入图片描述

找到管理注册的文件

starUML是用js写的,所以文件系统比较简单,在你安装的starUML目录下resourse文件夹下面有一个app.asar的文件。
在这里插入图片描述
关于asar格式,其实这是一个代码的压缩包格式,里面存在着各种代码,只是为了不让里面的代码不直接暴露。这种格式就需要专门的asar工具包进行解压和打包。

资源下载

如果你不想这么麻烦,可以直接下载我打包好的包。

只需要5个积分!!!。
app.asar下载

npm下载asar包

如今是个开源的时代,你可以在npm中直接下载asar包。

如果你没有安装nodejs以及npm,可以看这个。

全局安装asar npm install asar -g

查看是否能全局使用。
在这里插入图片描述

app.asar解压

然后你将原来的app.asar包复制出来一个,进行解压

注意这里需要将cmd的目录转到你app.asar复制的位置,或者你可以将app.asar改为你的目录,比如C://User/asar/app.asar这样。

解压命令为:

asar e app.asar app

在这里插入图片描述
最好先备份一个文件,复制后修改后缀backup就可以了。

js文件修改

找到app/src/engine/licence-manager.js文件,使用任何编辑器打开都可以
在这里插入图片描述
将原来的validate()函数注释了然后增加一条上面

  //增加新的函数
  validate() {
    return new Promise((resolve, reject) => {
      resolve({
        name: "DXkite",
        product: "DXkite product",
        licenseType: "DXkite Personal",
        quantity: "DXkite Quantity",
        timestamp: "1529049036",
      });
    })
  }
  //注释原来的函数
  // validate () {
  //   return new Promise((resolve, reject) => {
  //     try {
  //       // Local check
  //       var file = this.findLicense()
  //       if (!file) {
  //         reject('License key not found')
  //       } else {
  //         var data = fs.readFileSync(file, 'utf8')
  //         licenseInfo = JSON.parse(data)
  //         if (licenseInfo.product !== packageJSON.config.product_id) {
  //           app.toast.error(`License key is for old version (${licenseInfo.product})`)
  //           reject(`License key is not for ${packageJSON.config.product_id}`)
  //         } else {
  //           var base = SK + licenseInfo.name +
  //           SK + licenseInfo.product + '-' + licenseInfo.licenseType +
  //           SK + licenseInfo.quantity +
  //           SK + licenseInfo.timestamp + SK
  //           var _key = crypto.createHash('sha1').update(base).digest('hex').toUpperCase()
  //           if (_key !== licenseInfo.licenseKey) {
  //             reject('Invalid license key')
  //           } else {
  //             // Server check
  //             $.post(app.config.validation_url, {licenseKey: licenseInfo.licenseKey})
  //               .done(data => {
  //                 resolve(data)
  //               })
  //               .fail(err => {
  //                 if (err && err.status === 499) { /* License key not exists */
  //                   reject(err)
  //                 } else {
  //                   // If server is not available, assume that license key is valid
  //                   resolve(licenseInfo)
  //                 }
  //               })
  //           }
  //         }
  //       }
  //     } catch (err) {
  //       reject(err)
  //     }
  //   })
  // }

重新打包

修改完以后重新需要打包。

注意这里也是需要将cmd的目录转到你app文件夹的位置,或者你可以将app改为你的目录,比如C:\Users\f\Desktop\asar\app这样。原来的asar包可以先删除,防止没有覆盖成功。

打包命令

asar p app app.asar

然后将打包后的文件和原来的app.asar进行替换就可以了

最后效果

替换后打开不会再跳出register的对话框,而且导出的图片也没有水印了哈哈。
在这里插入图片描述

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪野Solye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值