cssxsh / mirai-skia-plugin

Mirai Console Skiko/Skia 图像库前置插件
GNU Affero General Public License v3.0
35 stars 1 forks source link
mirai mirai-console skia skiko

Mirai Skia Plugin

Mirai Skia 前置插件

maven-central test Codacy Badge

Be based on https://github.com/JetBrains/skiko

SkiaToMirai

SkiaToMirai
SkiaExternalResource

Example

Example

Dependency

作为 Mirai Console 前置插件: 配置文件 build.gradle.kts

repositories {
    mavenCentral()
    // skiko 还未发布正式版到 Central,需要加入下面的 repo
    maven(url = "https://maven.pkg.jetbrains.space/public/p/compose/dev")
}

dependencies {
    compileOnly("xyz.cssxsh.mirai:mirai-skia-plugin:${version}")
}

mirai {
    jvmTarget = JavaVersion.VERSION_11
}

定义 dependsOn

object MemeHelperPlugin : KotlinPlugin(
    JvmPluginDescription(
        id = "xyz.cssxsh.mirai.plugin.meme-helper",
        name = "meme-helper",
        version = "1.0.2",
    ) {
        author("cssxsh")
        dependsOn("xyz.cssxsh.mirai.plugin.mirai-skia-plugin", ">= 1.1.0", false)
    }
)

作为 Mirai Core Jvm 引用:
配置文件 build.gradle.kts

repositories {
    mavenCentral()
}

dependencies {
    implementation("xyz.cssxsh.mirai:mirai-skia-plugin:${version}")
}

手动调用库加载函数

import xyz.cssxsh.mirai.skia.*

checkPlatform()
loadJNILibrary()

GIF

由于 Skiko 没有携带 GIF 编码器, 这里提供两个实现

安装

MCL 指令安装

请确认 mcl.jar 的版本是 2.1.0+
./mcl --update-package xyz.cssxsh.mirai:mirai-skia-plugin --channel maven-stable --type plugins

手动安装

  1. Releases 或者 Maven 下载 mirai2.jar
  2. 将其放入 plugins 文件夹中

缺少库

如果启动后出现 XXX: cannot open shared object file: No such file or directory 或者 XXX: 无法打开共享对象文件: 没有那个文件或目录
说明你的 Linux 系统缺少了某些前置库文件 XXX, 你需要自行补充安装, 可以通过 https://pkgs.org/search 检索相关信息

例如,出现 libGL.so.1: cannot open shared object file: No such file or directory
参阅 https://pkgs.org/search/?q=libGL.so.1, 找到对应的系统及版本然后,进入相关库介绍页面,下拉找到安装指令

兼容性

OS/Arch Plugin Skiko Gif
Windows-10-X64 1.3.2 0.7.58 2.0.8
GNU/Linux-X64 1.3.2 0.7.58 2.0.8
GNU/Linux-ARM64 1.3.2 0.7.58 2.0.8
MacOS-X64 1.3.2 0.7.58 2.0.8
MacOS-ARM64 1.3.2 0.7.58 2.0.8
Termux (Android-ARM64) 1.3.2 0.7.54 2.0.8

暂时不支持 Alpine LinuxMUSL/linux 系统, 你可以关注 issue-11

爱发电

afdian