DrawMeme - 基于Skiko的奇怪的图片生成器
-
使用本插件需要前置插件:SkikoMirai
https://github.com/LaoLittle/SkikoMirai/releases使用前请将字体文件放置于SkikoMirai的数据目录内的Fonts文件夹内
本项目会长期不定时更新。
目前可用的生成器:
- #ph: Pxxnhub生成器
- #ph + 文字
会自动截取一半
- #ph + 文字 + 文字
- #ph + 文字
- #bw: 灰白照生成器
- #bw + 文字 + 图片(若没有图片则要求获取)
- #bw + 文字 + 图片(若没有图片则要求获取)
- #5000兆 | #5k兆
- + 文字
- 文字 + 文字
分词效果和Pxxnhub生成器一致
- emoji 合成
- 发送任意两个emoji(不支持的emoji不会发送)
- 0%生成器
- 使用
#0
即可
- 使用
- osu生成
- #osu + 文字
- #osu + 文字
- marble大理石滤镜
- #marble + 图片
- #marble + 图片
- flash假闪照
- #flash + 图片
- #flash + 图片
- erode图像腐蚀
- #erode + 图片
- #erode + 数字 + 数字 + 数字 + 图片
- #ph: Pxxnhub生成器
-
谢谢你,老李头
-
在源码克隆过来之后ide报错了欸。
import org.laolittle.plugin.toExternalResource
toExternalResource().use { res -> subject.sendImage(res) }
-
@xiao_zheng 要读取一个本地依赖SkikoMirai
-
@tsudzuki 好的,已解决,感谢
-
@tsudzuki 那个……我把SkikoMirai插件放在项目的libs文件夹里,会把SkikoMirai一并编译,结果的jar文件体积巨大……请问如何解决
(这样编译完mcl里还得再放个SkikoMirai.jar) -
@xiao_zheng gradle build而不是buildPlugin
-
@tsudzuki !! 感谢!
-
@xiao_zheng buildPlugin编译完不需要额外放前置插件(因为前置也被编译进去了)
-
@xiao_zheng 如果你要引入依赖而不编译的话,可以用compileOnly而不是implementation,这样可以处理部分依赖需要编译而部分不需要的情况
-
感谢指导,成功编译出来只有十位数Kb的jar啦。
-
奇怪的图片
-
更新1.0.1
https://github.com/LaoLittle/DrawMeme/releases/tag/1.0.1优化:pxxn生成器支持@
使用#bw + 文字 + 图片生成灰白照片 -
可以考虑加个5000亿兆的表情包生成吗(弔图bot完善中)
-
@豹离siu 5000兆円
http://yurafuca.com/5000choyen
↑内有github开源代码可参考( -
@豹离siu 不错
-
这个字体文件我找不到它的目录啊。
-
我猜你可能遇到了瓶颈,可以使用5k-nodejs来创造五千兆图像。
-
@xiao_zheng 我猜我这两天都在睡大觉
-
java.lang.Error: Unknown arch x86
at org.jetbrains.skiko.OsArch_jvmKt$hostArch$2.invoke(OsArch.jvm.kt:19)
at org.jetbrains.skiko.OsArch_jvmKt$hostArch$2.invoke(OsArch.jvm.kt:14)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostArch(OsArch.jvm.kt:14)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:24)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:23)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostId(OsArch.jvm.kt:23)
at org.jetbrains.skiko.Library.findAndLoad(Library.kt:73)
at org.jetbrains.skiko.Library.load(Library.kt:59)
at org.jetbrains.skia.impl.Library$Companion.staticLoad(Library.jvm.kt:12)
at org.jetbrains.skia.TextLine.<clinit>(TextLine.kt:17)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invokeSuspend(DrawMeme.kt:53)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invoke(DrawMeme.kt)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invoke(DrawMeme.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWithImpl$2.invokeSuspend(messageSubscribersInternal.kt:58)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWithImpl$2.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWithImpl$2.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1.invokeSuspend(messageSubscribersInternal.kt:27)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invokeSuspend(subscribeMessages.kt:250)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invokeSuspend(EventChannel.kt:432)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invokeSuspend(InternalEventListeners.kt:50)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEventListeners.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEventListeners.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at net.mamoe.mirai.internal.event.Handler.onEvent(InternalEventListeners.kt:50)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.process(InternalEventListeners.kt:166)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.access$process(InternalEventListeners.kt:1)
at net.mamoe.mirai.internal.event.InternalEventListenersKt$callAndRemoveIfRequired$2$1.invokeSuspend(InternalEventListeners.kt:132)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
为什么会出现这个啊,怎么解决啊,该安装的都安上了