update deps

This commit is contained in:
源文雨
2023-02-07 16:39:07 +08:00
parent 4f65900688
commit 7e11924b3f
20 changed files with 482 additions and 465 deletions

View File

@@ -7,7 +7,7 @@ import (
"github.com/FloatTech/floatbox/file"
"github.com/FloatTech/floatbox/web"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/imgfactory"
"github.com/sirupsen/logrus"
)
@@ -97,10 +97,10 @@ func newContext(user int64) *context {
return c
}
func loadFirstFrames(paths []string, size int) (imgs []*img.Factory, err error) {
imgs = make([]*img.Factory, size)
func loadFirstFrames(paths []string, size int) (imgs []*imgfactory.Factory, err error) {
imgs = make([]*imgfactory.Factory, size)
for i := range imgs {
imgs[i], err = img.LoadFirstFrame(paths[i], 0, 0)
imgs[i], err = imgfactory.LoadFirstFrame(paths[i], 0, 0)
if err != nil {
return nil, err
}

View File

@@ -7,10 +7,9 @@ import (
"sync"
"github.com/FloatTech/floatbox/file"
"github.com/FloatTech/floatbox/img/writer"
"github.com/FloatTech/gg"
"github.com/FloatTech/imgfactory"
"github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/zbputils/img/text"
)
@@ -39,13 +38,13 @@ func mo(cc *context, value ...string) (string, error) {
return "", err
}
mo := []*image.NRGBA{
imgs[0].InsertBottom(tou, 80, 80, 32, 32).Im,
imgs[1].InsertBottom(tou, 70, 90, 42, 22).Im,
imgs[2].InsertBottom(tou, 75, 85, 37, 27).Im,
imgs[3].InsertBottom(tou, 85, 75, 27, 37).Im,
imgs[4].InsertBottom(tou, 90, 70, 22, 42).Im,
imgs[0].InsertBottom(tou, 80, 80, 32, 32).Image(),
imgs[1].InsertBottom(tou, 70, 90, 42, 22).Image(),
imgs[2].InsertBottom(tou, 75, 85, 37, 27).Image(),
imgs[3].InsertBottom(tou, 85, 75, 27, 37).Image(),
imgs[4].InsertBottom(tou, 90, 70, 22, 42).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(1, mo))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(1, mo))
}
// cuo 搓
@@ -64,10 +63,10 @@ func cuo(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
m1 := img.Rotate(tou, 72, 0, 0)
m2 := img.Rotate(tou, 144, 0, 0)
m3 := img.Rotate(tou, 216, 0, 0)
m4 := img.Rotate(tou, 288, 0, 0)
m1 := imgfactory.Rotate(tou, 72, 0, 0)
m2 := imgfactory.Rotate(tou, 144, 0, 0)
m3 := imgfactory.Rotate(tou, 216, 0, 0)
m4 := imgfactory.Rotate(tou, 288, 0, 0)
wg.Wait()
if errwg != nil {
return "", errwg
@@ -77,13 +76,13 @@ func cuo(cc *context, value ...string) (string, error) {
return "", err
}
cuo := []*image.NRGBA{
imgs[0].InsertBottomC(tou, 0, 0, 75, 130).Im,
imgs[1].InsertBottomC(m1.Im, 0, 0, 75, 130).Im,
imgs[2].InsertBottomC(m2.Im, 0, 0, 75, 130).Im,
imgs[3].InsertBottomC(m3.Im, 0, 0, 75, 130).Im,
imgs[4].InsertBottomC(m4.Im, 0, 0, 75, 130).Im,
imgs[0].InsertBottomC(tou, 0, 0, 75, 130).Image(),
imgs[1].InsertBottomC(m1.Image(), 0, 0, 75, 130).Image(),
imgs[2].InsertBottomC(m2.Image(), 0, 0, 75, 130).Image(),
imgs[3].InsertBottomC(m3.Image(), 0, 0, 75, 130).Image(),
imgs[4].InsertBottomC(m4.Image(), 0, 0, 75, 130).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(5, cuo))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(5, cuo))
}
// qiao 敲
@@ -111,10 +110,10 @@ func qiao(cc *context, value ...string) (string, error) {
return "", err
}
qiao := []*image.NRGBA{
imgs[0].InsertUp(tou, 40, 33, 57, 52).Im,
imgs[1].InsertUp(tou, 38, 36, 58, 50).Im,
imgs[0].InsertUp(tou, 40, 33, 57, 52).Image(),
imgs[1].InsertUp(tou, 38, 36, 58, 50).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(1, qiao))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(1, qiao))
}
// chi 吃
@@ -142,11 +141,11 @@ func chi(cc *context, value ...string) (string, error) {
return "", err
}
chi := []*image.NRGBA{
imgs[0].InsertBottom(tou, 0, 0, 1, 38).Im,
imgs[1].InsertBottom(tou, 0, 0, 1, 38).Im,
imgs[2].InsertBottom(tou, 0, 0, 1, 38).Im,
imgs[0].InsertBottom(tou, 0, 0, 1, 38).Image(),
imgs[1].InsertBottom(tou, 0, 0, 1, 38).Image(),
imgs[2].InsertBottom(tou, 0, 0, 1, 38).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(1, chi))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(1, chi))
}
// ceng 蹭
@@ -178,14 +177,14 @@ func ceng(cc *context, value ...string) (string, error) {
return "", err
}
ceng := []*image.NRGBA{
imgs[0].InsertUp(tou, 75, 77, 40, 88).InsertUp(tou2, 77, 103, 102, 81).Im,
imgs[1].InsertUp(tou, 75, 77, 46, 100).InsertUp(img.Rotate(tou2, 10, 62, 127).Im, 0, 0, 92, 40).Im,
imgs[2].InsertUp(tou, 75, 77, 67, 99).InsertUp(tou2, 76, 117, 90, 8).Im,
imgs[3].InsertUp(tou, 75, 77, 52, 83).InsertUp(img.Rotate(tou2, -40, 94, 94).Im, 0, 0, 53, -20).Im,
imgs[4].InsertUp(tou, 75, 77, 56, 110).InsertUp(img.Rotate(tou2, -66, 132, 80).Im, 0, 0, 78, 40).Im,
imgs[5].InsertUp(tou, 75, 77, 62, 102).InsertUp(tou2, 71, 100, 110, 94).Im,
imgs[0].InsertUp(tou, 75, 77, 40, 88).InsertUp(tou2, 77, 103, 102, 81).Image(),
imgs[1].InsertUp(tou, 75, 77, 46, 100).InsertUp(imgfactory.Rotate(tou2, 10, 62, 127).Image(), 0, 0, 92, 40).Image(),
imgs[2].InsertUp(tou, 75, 77, 67, 99).InsertUp(tou2, 76, 117, 90, 8).Image(),
imgs[3].InsertUp(tou, 75, 77, 52, 83).InsertUp(imgfactory.Rotate(tou2, -40, 94, 94).Image(), 0, 0, 53, -20).Image(),
imgs[4].InsertUp(tou, 75, 77, 56, 110).InsertUp(imgfactory.Rotate(tou2, -66, 132, 80).Image(), 0, 0, 78, 40).Image(),
imgs[5].InsertUp(tou, 75, 77, 62, 102).InsertUp(tou2, 71, 100, 110, 94).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, ceng))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, ceng))
}
// ken 啃
@@ -213,24 +212,24 @@ func ken(cc *context, value ...string) (string, error) {
return "", err
}
ken := []*image.NRGBA{
imgs[0].InsertBottom(tou, 90, 90, 105, 150).Im,
imgs[1].InsertBottom(tou, 90, 83, 96, 172).Im,
imgs[2].InsertBottom(tou, 90, 90, 106, 148).Im,
imgs[3].InsertBottom(tou, 88, 88, 97, 167).Im,
imgs[4].InsertBottom(tou, 90, 85, 89, 179).Im,
imgs[5].InsertBottom(tou, 90, 90, 106, 151).Im,
imgs[6].Im,
imgs[7].Im,
imgs[8].Im,
imgs[9].Im,
imgs[10].Im,
imgs[11].Im,
imgs[12].Im,
imgs[13].Im,
imgs[14].Im,
imgs[15].Im,
imgs[0].InsertBottom(tou, 90, 90, 105, 150).Image(),
imgs[1].InsertBottom(tou, 90, 83, 96, 172).Image(),
imgs[2].InsertBottom(tou, 90, 90, 106, 148).Image(),
imgs[3].InsertBottom(tou, 88, 88, 97, 167).Image(),
imgs[4].InsertBottom(tou, 90, 85, 89, 179).Image(),
imgs[5].InsertBottom(tou, 90, 90, 106, 151).Image(),
imgs[6].Image(),
imgs[7].Image(),
imgs[8].Image(),
imgs[9].Image(),
imgs[10].Image(),
imgs[11].Image(),
imgs[12].Image(),
imgs[13].Image(),
imgs[14].Image(),
imgs[15].Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, ken))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, ken))
}
// pai 拍
@@ -258,10 +257,10 @@ func pai(cc *context, value ...string) (string, error) {
return "", err
}
pai := []*image.NRGBA{
imgs[0].InsertUp(tou, 0, 0, 1, 47).Im,
imgs[1].InsertUp(tou, 0, 0, 1, 67).Im,
imgs[0].InsertUp(tou, 0, 0, 1, 47).Image(),
imgs[1].InsertUp(tou, 0, 0, 1, 67).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(1, pai))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(1, pai))
}
// xqe 冲
@@ -289,10 +288,10 @@ func xqe(cc *context, value ...string) (string, error) {
return "", err
}
chong := []*image.NRGBA{
imgs[0].InsertUp(tou, 30, 30, 15, 53).Im,
imgs[1].InsertUp(tou, 30, 30, 40, 53).Im,
imgs[0].InsertUp(tou, 30, 30, 15, 53).Image(),
imgs[1].InsertUp(tou, 30, 30, 40, 53).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(1, chong))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(1, chong))
}
// diu 丢
@@ -320,16 +319,16 @@ func diu(cc *context, value ...string) (string, error) {
return "", err
}
diu := []*image.NRGBA{
imgs[0].InsertUp(tou, 32, 32, 108, 36).Im,
imgs[1].InsertUp(tou, 32, 32, 122, 36).Im,
imgs[2].Im,
imgs[3].InsertUp(tou, 123, 123, 19, 129).Im,
imgs[4].InsertUp(tou, 185, 185, -50, 200).InsertUp(tou, 33, 33, 289, 70).Im,
imgs[5].InsertUp(tou, 32, 32, 280, 73).Im,
imgs[6].InsertUp(tou, 35, 35, 259, 31).Im,
imgs[7].InsertUp(tou, 175, 175, -50, 220).Im,
imgs[0].InsertUp(tou, 32, 32, 108, 36).Image(),
imgs[1].InsertUp(tou, 32, 32, 122, 36).Image(),
imgs[2].Image(),
imgs[3].InsertUp(tou, 123, 123, 19, 129).Image(),
imgs[4].InsertUp(tou, 185, 185, -50, 200).InsertUp(tou, 33, 33, 289, 70).Image(),
imgs[5].InsertUp(tou, 32, 32, 280, 73).Image(),
imgs[6].InsertUp(tou, 35, 35, 259, 31).Image(),
imgs[7].InsertUp(tou, 175, 175, -50, 220).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, diu))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, diu))
}
// kiss 亲
@@ -366,9 +365,9 @@ func kiss(cc *context, value ...string) (string, error) {
kiss := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
kiss[i] = imgs[i].InsertUp(tou, 50, 50, userLocs[i][0], userLocs[i][1]).
InsertUp(tou2, 40, 40, selfLocs[i][0], selfLocs[i][1]).Im
InsertUp(tou2, 40, 40, selfLocs[i][0], selfLocs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, kiss))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, kiss))
}
// garbage 垃圾 垃圾桶
@@ -388,7 +387,7 @@ func garbage(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 79, 79)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 79, 79)
if err != nil {
return "", err
}
@@ -399,9 +398,9 @@ func garbage(cc *context, value ...string) (string, error) {
}
garbage := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
garbage[i] = imgs[i].InsertBottom(im.Im, 0, 0, locs[i][0], locs[i][1]).Im
garbage[i] = imgs[i].InsertBottom(im.Image(), 0, 0, locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, garbage))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, garbage))
}
// thump 捶
@@ -421,7 +420,7 @@ func thump(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -432,9 +431,9 @@ func thump(cc *context, value ...string) (string, error) {
}
thump := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
thump[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
thump[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, thump))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, thump))
}
// jiujiu 啾啾
@@ -454,7 +453,7 @@ func jiujiu(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 75, 51)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 75, 51)
if err != nil {
return "", err
}
@@ -464,9 +463,9 @@ func jiujiu(cc *context, value ...string) (string, error) {
}
jiujiu := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
jiujiu[i] = imgs[i].InsertBottom(im.Im, 0, 0, 0, 0).Im
jiujiu[i] = imgs[i].InsertBottom(im.Image(), 0, 0, 0, 0).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, jiujiu))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, jiujiu))
}
// knock 2敲
@@ -486,7 +485,7 @@ func knock(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -497,9 +496,9 @@ func knock(cc *context, value ...string) (string, error) {
}
knock := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
knock[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
knock[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, knock))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, knock))
}
// 听音乐 listenMusic
@@ -529,9 +528,9 @@ func listenMusic(cc *context, value ...string) (string, error) {
}
listenmusic := make([]*image.NRGBA, 36)
for i := 0; i < 36; i++ {
listenmusic[i] = imgs[0].InsertBottomC(img.Rotate(face, float64(-i*10), 215, 215).Im, 0, 0, 207, 207).Im
listenmusic[i] = imgs[0].InsertBottomC(imgfactory.Rotate(face, float64(-i*10), 215, 215).Image(), 0, 0, 207, 207).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, listenmusic))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, listenmusic))
}
// loveYou 永远爱你
@@ -551,7 +550,7 @@ func loveYou(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -562,9 +561,9 @@ func loveYou(cc *context, value ...string) (string, error) {
}
loveyou := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
loveyou[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
loveyou[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, loveyou))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, loveyou))
}
// pat 2拍
@@ -584,7 +583,7 @@ func pat(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -596,9 +595,9 @@ func pat(cc *context, value ...string) (string, error) {
p := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
if i == 2 {
p[i] = imgs[i].InsertBottom(im.Im, locs[1][2], locs[1][3], locs[1][0], locs[1][1]).Im
p[i] = imgs[i].InsertBottom(im.Image(), locs[1][2], locs[1][3], locs[1][0], locs[1][1]).Image()
} else {
p[i] = imgs[i].InsertBottom(im.Im, locs[0][2], locs[0][3], locs[0][0], locs[0][1]).Im
p[i] = imgs[i].InsertBottom(im.Image(), locs[0][2], locs[0][3], locs[0][0], locs[0][1]).Image()
}
}
seq := []int{0, 1, 2, 3, 1, 2, 3, 0, 1, 2, 3, 0, 0, 1, 2, 3, 0, 0, 0, 0, 4, 5, 5, 5, 6, 7, 8, 9}
@@ -606,7 +605,7 @@ func pat(cc *context, value ...string) (string, error) {
for i := 0; i < len(pat); i++ {
pat[i] = p[seq[i]]
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, pat))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, pat))
}
// jackUp 顶
@@ -626,7 +625,7 @@ func jackUp(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -638,9 +637,9 @@ func jackUp(cc *context, value ...string) (string, error) {
p := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
if i < len(locs) {
p[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
p[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
} else {
p[i] = imgs[i].Im
p[i] = imgs[i].Image()
}
}
play := make([]*image.NRGBA, 0, 16)
@@ -649,7 +648,7 @@ func jackUp(cc *context, value ...string) (string, error) {
play = append(play, p[0:8]...)
play = append(play, p[12:18]...)
play = append(play, p[18:23]...)
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, play))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, play))
}
// pound 捣
@@ -669,7 +668,7 @@ func pound(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -680,9 +679,9 @@ func pound(cc *context, value ...string) (string, error) {
}
pound := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
pound[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
pound[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, pound))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, pound))
}
// punch 打拳
@@ -702,7 +701,7 @@ func punch(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 260, 260)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 260, 260)
if err != nil {
return "", err
}
@@ -713,9 +712,9 @@ func punch(cc *context, value ...string) (string, error) {
}
punch := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
punch[i] = imgs[i].InsertBottom(im.Im, 0, 0, locs[i][0], locs[i][1]-15).Im
punch[i] = imgs[i].InsertBottom(im.Image(), 0, 0, locs[i][0], locs[i][1]-15).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, punch))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, punch))
}
// roll 滚
@@ -735,7 +734,7 @@ func roll(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 210, 210)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 210, 210)
if err != nil {
return "", err
}
@@ -746,9 +745,9 @@ func roll(cc *context, value ...string) (string, error) {
}
roll := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
roll[i] = imgs[i].InsertBottomC(img.Rotate(im.Im, float64(locs[i][2]), 0, 0).Im, 0, 0, locs[i][0]+105, locs[i][1]+105).Im
roll[i] = imgs[i].InsertBottomC(imgfactory.Rotate(im.Image(), float64(locs[i][2]), 0, 0).Image(), 0, 0, locs[i][0]+105, locs[i][1]+105).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, roll))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, roll))
}
// suck 吸 嗦
@@ -768,7 +767,7 @@ func suck(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -779,9 +778,9 @@ func suck(cc *context, value ...string) (string, error) {
}
suck := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
suck[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
suck[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, suck))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, suck))
}
// hammer 锤
@@ -801,7 +800,7 @@ func hammer(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -812,9 +811,9 @@ func hammer(cc *context, value ...string) (string, error) {
}
hammer := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
hammer[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
hammer[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, hammer))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, hammer))
}
// tightly 紧贴 紧紧贴着
@@ -834,7 +833,7 @@ func tightly(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -845,9 +844,9 @@ func tightly(cc *context, value ...string) (string, error) {
}
tightly := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
tightly[i] = imgs[i].InsertBottom(im.Im, locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Im
tightly[i] = imgs[i].InsertBottom(im.Image(), locs[i][2], locs[i][3], locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, tightly))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, tightly))
}
// turn 转
@@ -864,9 +863,9 @@ func turn(cc *context, value ...string) (string, error) {
canvas.Fill()
turn := make([]*image.NRGBA, 36)
for i := 0; i < 36; i++ {
turn[i] = img.Size(canvas.Image(), 0, 0).InsertUpC(img.Rotate(face, float64(10*i), 250, 250).Im, 0, 0, 125, 125).Im
turn[i] = imgfactory.Size(canvas.Image(), 0, 0).InsertUpC(imgfactory.Rotate(face, float64(10*i), 250, 250).Image(), 0, 0, 125, 125).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, turn))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, turn))
}
// taiguan 抬棺
@@ -894,28 +893,28 @@ func taiguan(cc *context, value ...string) (string, error) {
return "", err
}
taiguan := []*image.NRGBA{
imgs[0].InsertUp(tou, 85, 85, 180, 65).Im,
imgs[1].InsertUp(tou, 85, 85, 180, 65).Im,
imgs[2].InsertUp(tou, 85, 85, 180, 65).Im,
imgs[3].InsertUp(tou, 85, 85, 180, 65).Im,
imgs[4].InsertUp(tou, 85, 85, 177, 65).Im,
imgs[5].InsertUp(tou, 85, 85, 175, 65).Im,
imgs[6].InsertUp(tou, 85, 85, 173, 65).Im,
imgs[7].InsertUp(tou, 85, 85, 171, 65).Im,
imgs[8].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[9].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[10].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[11].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[12].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[13].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[14].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[15].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[16].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[17].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[18].InsertUp(tou, 85, 85, 170, 65).Im,
imgs[19].InsertUp(tou, 85, 85, 175, 65).Im,
imgs[0].InsertUp(tou, 85, 85, 180, 65).Image(),
imgs[1].InsertUp(tou, 85, 85, 180, 65).Image(),
imgs[2].InsertUp(tou, 85, 85, 180, 65).Image(),
imgs[3].InsertUp(tou, 85, 85, 180, 65).Image(),
imgs[4].InsertUp(tou, 85, 85, 177, 65).Image(),
imgs[5].InsertUp(tou, 85, 85, 175, 65).Image(),
imgs[6].InsertUp(tou, 85, 85, 173, 65).Image(),
imgs[7].InsertUp(tou, 85, 85, 171, 65).Image(),
imgs[8].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[9].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[10].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[11].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[12].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[13].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[14].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[15].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[16].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[17].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[18].InsertUp(tou, 85, 85, 170, 65).Image(),
imgs[19].InsertUp(tou, 85, 85, 175, 65).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, taiguan))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, taiguan))
}
// zou 揍
@@ -947,11 +946,11 @@ func zou(cc *context, value ...string) (string, error) {
return "", err
}
zou := []*image.NRGBA{
imgs[0].InsertUp(tou, 40, 40, 98, 138).InsertUp(tou2, 55, 55, 100, 45).Im,
imgs[1].InsertUp(tou, 40, 40, 98, 138).InsertUp(tou2, 55, 55, 101, 45).Im,
imgs[2].InsertUp(tou, 40, 40, 89, 140).InsertUp(tou2, 55, 55, 99, 40).Im,
imgs[0].InsertUp(tou, 40, 40, 98, 138).InsertUp(tou2, 55, 55, 100, 45).Image(),
imgs[1].InsertUp(tou, 40, 40, 98, 138).InsertUp(tou2, 55, 55, 101, 45).Image(),
imgs[2].InsertUp(tou, 40, 40, 89, 140).InsertUp(tou2, 55, 55, 99, 40).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, zou))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, zou))
}
// ci 吞
@@ -979,34 +978,34 @@ func ci(cc *context, value ...string) (string, error) {
return "", err
}
ci := []*image.NRGBA{
imgs[0].InsertBottom(tou, 25, 25, 25, 57).Im,
imgs[1].InsertBottom(tou, 25, 25, 27, 58).Im,
imgs[2].InsertBottom(tou, 25, 25, 28, 57).Im,
imgs[3].InsertBottom(tou, 25, 25, 30, 57).Im,
imgs[4].InsertBottom(tou, 25, 25, 30, 58).Im,
imgs[5].InsertBottom(tou, 25, 25, 30, 59).Im,
imgs[6].Im,
imgs[7].Im,
imgs[8].Im,
imgs[9].Im,
imgs[10].Im,
imgs[11].Im,
imgs[12].Im,
imgs[13].Im,
imgs[14].Im,
imgs[15].Im,
imgs[16].Im,
imgs[17].Im,
imgs[18].Im,
imgs[19].Im,
imgs[20].Im,
imgs[21].Im,
imgs[22].Im,
imgs[23].Im,
imgs[24].Im,
imgs[25].Im,
imgs[0].InsertBottom(tou, 25, 25, 25, 57).Image(),
imgs[1].InsertBottom(tou, 25, 25, 27, 58).Image(),
imgs[2].InsertBottom(tou, 25, 25, 28, 57).Image(),
imgs[3].InsertBottom(tou, 25, 25, 30, 57).Image(),
imgs[4].InsertBottom(tou, 25, 25, 30, 58).Image(),
imgs[5].InsertBottom(tou, 25, 25, 30, 59).Image(),
imgs[6].Image(),
imgs[7].Image(),
imgs[8].Image(),
imgs[9].Image(),
imgs[10].Image(),
imgs[11].Image(),
imgs[12].Image(),
imgs[13].Image(),
imgs[14].Image(),
imgs[15].Image(),
imgs[16].Image(),
imgs[17].Image(),
imgs[18].Image(),
imgs[19].Image(),
imgs[20].Image(),
imgs[21].Image(),
imgs[22].Image(),
imgs[23].Image(),
imgs[24].Image(),
imgs[25].Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, ci))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, ci))
}
// worship 膜拜
@@ -1034,17 +1033,17 @@ func worship(cc *context, value ...string) (string, error) {
return "", err
}
worship := []*image.NRGBA{
imgs[0].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[1].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[2].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[3].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[4].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[5].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[6].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[7].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[8].InsertBottom(face, 140, 140, 0, 0).Im,
imgs[0].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[1].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[2].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[3].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[4].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[5].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[6].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[7].InsertBottom(face, 140, 140, 0, 0).Image(),
imgs[8].InsertBottom(face, 140, 140, 0, 0).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, worship))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, worship))
}
// 2ceng 2蹭
@@ -1072,12 +1071,12 @@ func ceng2(cc *context, value ...string) (string, error) {
return "", err
}
ceng2 := []*image.NRGBA{
imgs[0].InsertBottom(tou, 175, 175, 78, 263).Im,
imgs[1].InsertBottom(tou, 175, 175, 78, 263).Im,
imgs[2].InsertBottom(tou, 175, 175, 78, 263).Im,
imgs[3].InsertBottom(tou, 175, 175, 78, 263).Im,
imgs[0].InsertBottom(tou, 175, 175, 78, 263).Image(),
imgs[1].InsertBottom(tou, 175, 175, 78, 263).Image(),
imgs[2].InsertBottom(tou, 175, 175, 78, 263).Image(),
imgs[3].InsertBottom(tou, 175, 175, 78, 263).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, ceng2))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, ceng2))
}
// dun 炖
@@ -1105,13 +1104,13 @@ func dun(cc *context, value ...string) (string, error) {
return "", err
}
dun := []*image.NRGBA{
imgs[0].InsertBottom(tou, 80, 80, 85, 45).Im,
imgs[1].InsertBottom(tou, 80, 80, 85, 45).Im,
imgs[2].InsertBottom(tou, 80, 80, 85, 45).Im,
imgs[3].InsertBottom(tou, 80, 80, 85, 45).Im,
imgs[4].InsertBottom(tou, 80, 80, 85, 45).Im,
imgs[0].InsertBottom(tou, 80, 80, 85, 45).Image(),
imgs[1].InsertBottom(tou, 80, 80, 85, 45).Image(),
imgs[2].InsertBottom(tou, 80, 80, 85, 45).Image(),
imgs[3].InsertBottom(tou, 80, 80, 85, 45).Image(),
imgs[4].InsertBottom(tou, 80, 80, 85, 45).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, dun))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, dun))
}
// push 滚高清重置版 过渡
@@ -1141,9 +1140,9 @@ func push(cc *context, value ...string) (string, error) {
}
push := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
push[i] = imgs[i].InsertUpC(img.Rotate(tou, float64(-22*i), 280, 280).Im, 0, 0, 523, 291).Im
push[i] = imgs[i].InsertUpC(imgfactory.Rotate(tou, float64(-22*i), 280, 280).Image(), 0, 0, 523, 291).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, push))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, push))
}
// peng 砰
@@ -1162,10 +1161,10 @@ func peng(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
m1 := img.Rotate(tou, 1, 80, 80)
m2 := img.Rotate(tou, 30, 80, 80)
m3 := img.Rotate(tou, 45, 85, 85)
m4 := img.Rotate(tou, 90, 80, 80)
m1 := imgfactory.Rotate(tou, 1, 80, 80)
m2 := imgfactory.Rotate(tou, 30, 80, 80)
m3 := imgfactory.Rotate(tou, 45, 85, 85)
m4 := imgfactory.Rotate(tou, 90, 80, 80)
wg.Wait()
if errwg != nil {
return "", errwg
@@ -1175,33 +1174,33 @@ func peng(cc *context, value ...string) (string, error) {
return "", err
}
peng := []*image.NRGBA{
imgs[0].Im,
imgs[1].Im,
imgs[2].Im,
imgs[3].Im,
imgs[4].Im,
imgs[5].Im,
imgs[6].Im,
imgs[7].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[8].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[9].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[10].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[11].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[12].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[13].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[14].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[15].InsertUp(m1.Im, 0, 0, 205, 80).Im,
imgs[16].InsertUp(m1.Im, 0, 0, 200, 80).Im,
imgs[17].InsertUp(m2.Im, 0, 0, 169, 65).Im,
imgs[18].InsertUp(m2.Im, 0, 0, 160, 69).Im,
imgs[19].InsertUp(m3.Im, 0, 0, 113, 90).Im,
imgs[20].InsertUp(m4.Im, 0, 0, 89, 159).Im,
imgs[21].InsertUp(m4.Im, 0, 0, 89, 159).Im,
imgs[22].InsertUp(m4.Im, 0, 0, 86, 160).Im,
imgs[23].InsertUp(m4.Im, 0, 0, 89, 159).Im,
imgs[24].InsertUp(m4.Im, 0, 0, 86, 160).Im,
imgs[0].Image(),
imgs[1].Image(),
imgs[2].Image(),
imgs[3].Image(),
imgs[4].Image(),
imgs[5].Image(),
imgs[6].Image(),
imgs[7].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[8].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[9].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[10].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[11].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[12].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[13].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[14].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[15].InsertUp(m1.Image(), 0, 0, 205, 80).Image(),
imgs[16].InsertUp(m1.Image(), 0, 0, 200, 80).Image(),
imgs[17].InsertUp(m2.Image(), 0, 0, 169, 65).Image(),
imgs[18].InsertUp(m2.Image(), 0, 0, 160, 69).Image(),
imgs[19].InsertUp(m3.Image(), 0, 0, 113, 90).Image(),
imgs[20].InsertUp(m4.Image(), 0, 0, 89, 159).Image(),
imgs[21].InsertUp(m4.Image(), 0, 0, 89, 159).Image(),
imgs[22].InsertUp(m4.Image(), 0, 0, 86, 160).Image(),
imgs[23].InsertUp(m4.Image(), 0, 0, 89, 159).Image(),
imgs[24].InsertUp(m4.Image(), 0, 0, 86, 160).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, peng))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, peng))
}
// klee 可莉吃
@@ -1221,7 +1220,7 @@ func klee(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 82, 83)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 82, 83)
if err != nil {
return "", err
}
@@ -1232,9 +1231,9 @@ func klee(cc *context, value ...string) (string, error) {
}
klee := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
klee[i] = imgs[i].InsertBottom(im.Im, 0, 0, locs[i][0], locs[i][1]).Im
klee[i] = imgs[i].InsertBottom(im.Image(), 0, 0, locs[i][0], locs[i][1]).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, klee))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, klee))
}
// hutaoken 胡桃啃
@@ -1262,10 +1261,10 @@ func hutaoken(cc *context, value ...string) (string, error) {
return "", err
}
hutaoken := []*image.NRGBA{
imgs[0].InsertBottom(tou, 98, 101, 108, 234).Im,
imgs[1].InsertBottom(tou, 96, 100, 108, 237).Im,
imgs[0].InsertBottom(tou, 98, 101, 108, 234).Image(),
imgs[1].InsertBottom(tou, 96, 100, 108, 237).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, hutaoken))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, hutaoken))
}
// lick 2舔
@@ -1293,10 +1292,10 @@ func lick(cc *context, value ...string) (string, error) {
return "", err
}
lick := []*image.NRGBA{
imgs[0].InsertUp(tou, 44, 44, 10, 138).Im,
imgs[1].InsertUp(tou, 44, 44, 10, 138).Im,
imgs[0].InsertUp(tou, 44, 44, 10, 138).Image(),
imgs[1].InsertUp(tou, 44, 44, 10, 138).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, lick))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, lick))
}
// tiqiu 踢球
@@ -1327,9 +1326,9 @@ func tiqiu(cc *context, value ...string) (string, error) {
}
tiqiu := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
tiqiu[i] = imgs[i].InsertUpC(img.Rotate(tou, float64(-24*i), 0, 0).Im, 0, 0, locs[i][0]+38, locs[i][1]+38).Im
tiqiu[i] = imgs[i].InsertUpC(imgfactory.Rotate(tou, float64(-24*i), 0, 0).Image(), 0, 0, locs[i][0]+38, locs[i][1]+38).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, tiqiu))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, tiqiu))
}
// cai 踩
@@ -1356,15 +1355,15 @@ func cai(cc *context, value ...string) (string, error) {
if err != nil {
return "", err
}
m1 := img.Rotate(tou, -20, 130, 80)
m1 := imgfactory.Rotate(tou, -20, 130, 80)
cai := []*image.NRGBA{
imgs[0].InsertBottom(m1.Im, 123, 105, 39, 188).Im,
imgs[1].InsertBottom(m1.Im, 123, 105, 39, 188).Im,
imgs[2].InsertBottom(tou, 90, 71, 50, 209).Im,
imgs[3].InsertBottom(tou, 85, 76, 52, 203).Im,
imgs[4].InsertBottom(tou, 88, 82, 49, 198).Im,
imgs[0].InsertBottom(m1.Image(), 123, 105, 39, 188).Image(),
imgs[1].InsertBottom(m1.Image(), 123, 105, 39, 188).Image(),
imgs[2].InsertBottom(tou, 90, 71, 50, 209).Image(),
imgs[3].InsertBottom(tou, 85, 76, 52, 203).Image(),
imgs[4].InsertBottom(tou, 88, 82, 49, 198).Image(),
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, cai))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, cai))
}
// whir 2转
@@ -1394,26 +1393,26 @@ func whirl(cc *context, value ...string) (string, error) {
}
whirl := make([]*image.NRGBA, piclen)
for i := 0; i < piclen; i++ {
whirl[i] = imgs[i].InsertUpC(img.Rotate(tou, float64(-24*i), 145, 145).Im, 0, 0, 115, 89).Im
whirl[i] = imgs[i].InsertUpC(imgfactory.Rotate(tou, float64(-24*i), 145, 145).Image(), 0, 0, 115, 89).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(7, whirl))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(7, whirl))
}
// always 一直
func alwaysDoGif(cc *context, value ...string) (string, error) {
_ = value
var err error
var face []*image.NRGBA
var face []*imgfactory.Factory
name := cc.usrdir + "AlwaysDo.gif"
face, err = img.LoadAllFrames(cc.headimgsdir[0], 500, 500)
face, err = imgfactory.LoadAllFrames(cc.headimgsdir[0], 500, 500)
if err != nil {
// 载入失败尝试载入第一帧
face = make([]*image.NRGBA, 0)
first, err := img.LoadFirstFrame(cc.headimgsdir[0], 500, 500)
face = nil
first, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 500, 500)
if err != nil {
return "", err
}
face = append(face, first.Im)
face = append(face, imgfactory.NewFactory(first.Image()))
}
canvas := gg.NewContext(500, 600)
canvas.SetColor(color.Black)
@@ -1437,13 +1436,13 @@ func alwaysDoGif(cc *context, value ...string) (string, error) {
turn := make([]*image.NRGBA, length)
for i, f := range face {
canvas := gg.NewContext(500, 600)
canvas.DrawImage(f, 0, 0)
canvas.DrawImage(f.Image(), 0, 0)
canvas.SetColor(color.Black)
_ = canvas.LoadFontFace(text.BoldFontFile, 40)
canvas.DrawString(arg, 280-l, 560)
canvas.DrawImage(img.Size(f, 90, 90).Im, 280, 505)
canvas.DrawImage(imgfactory.Size(f.Image(), 90, 90).Image(), 280, 505)
canvas.DrawString("吗", 370, 560)
turn[i] = img.Size(canvas.Image(), 0, 0).Im
turn[i] = imgfactory.Size(canvas.Image(), 0, 0).Image()
}
return "file:///" + name, writer.SaveGIF2Path(name, img.MergeGif(8, turn))
return "file:///" + name, imgfactory.SaveGIF2Path(name, imgfactory.MergeGif(8, turn))
}

View File

@@ -7,7 +7,7 @@ import (
"github.com/FloatTech/floatbox/file"
"github.com/FloatTech/floatbox/process"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/imgfactory"
)
func (cc *context) prepareLogos(s ...string) error {
@@ -27,17 +27,17 @@ func (cc *context) prepareLogos(s ...string) error {
}
func (cc *context) getLogo(w int, h int) (*image.NRGBA, error) {
frame, err := img.LoadFirstFrame(cc.headimgsdir[0], w, h)
frame, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], w, h)
if err != nil {
return nil, err
}
return frame.Circle(0).Im, nil
return frame.Circle(0).Image(), nil
}
func (cc *context) getLogo2(w int, h int) (*image.NRGBA, error) {
frame, err := img.LoadFirstFrame(cc.headimgsdir[1], w, h)
frame, err := imgfactory.LoadFirstFrame(cc.headimgsdir[1], w, h)
if err != nil {
return nil, err
}
return frame.Circle(0).Im, nil
return frame.Circle(0).Image(), nil
}

View File

@@ -9,10 +9,9 @@ import (
"sync"
"github.com/FloatTech/floatbox/file"
"github.com/FloatTech/floatbox/img/writer"
"github.com/FloatTech/gg"
"github.com/FloatTech/imgfactory"
"github.com/FloatTech/zbputils/control"
"github.com/FloatTech/zbputils/img"
"github.com/FloatTech/zbputils/img/text"
)
@@ -36,11 +35,11 @@ func pa(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
imgf, err := img.LoadFirstFrame(f, 0, 0)
imgf, err := imgfactory.LoadFirstFrame(f, 0, 0)
if err != nil {
return "", err
}
return "file:///" + name, writer.SavePNG2Path(name, imgf.InsertUp(tou, 100, 100, 0, 400).Im)
return "file:///" + name, imgfactory.SavePNG2Path(name, imgf.InsertUp(tou, 100, 100, 0, 400).Image())
}
// si 撕
@@ -51,8 +50,8 @@ func si(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
im1 := img.Rotate(tou, 20, 380, 380)
im2 := img.Rotate(tou, -12, 380, 380)
im1 := imgfactory.Rotate(tou, 20, 380, 380)
im2 := imgfactory.Rotate(tou, -12, 380, 380)
if file.IsNotExist(datapath + "materials/si") {
err = os.MkdirAll(datapath+"materials/si", 0755)
if err != nil {
@@ -63,11 +62,11 @@ func si(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
imgf, err := img.LoadFirstFrame(f, 0, 0)
imgf, err := imgfactory.LoadFirstFrame(f, 0, 0)
if err != nil {
return "", err
}
return "file:///" + name, writer.SavePNG2Path(name, imgf.InsertBottom(im1.Im, im1.W, im1.H, -3, 370).InsertBottom(im2.Im, im2.W, im2.H, 653, 310).Im)
return "file:///" + name, imgfactory.SavePNG2Path(name, imgf.InsertBottom(im1.Image(), im1.W(), im1.H(), -3, 370).InsertBottom(im2.Image(), im2.W(), im2.H(), 653, 310).Image())
}
// flipV 上翻,下翻
@@ -75,12 +74,12 @@ func flipV(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "FlipV.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.FlipV().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.FlipV().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// flipH 左翻,右翻
@@ -88,12 +87,12 @@ func flipH(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "FlipH.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.FlipH().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.FlipH().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// invert 反色
@@ -101,12 +100,12 @@ func invert(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "Invert.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.Invert().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.Invert().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// blur 反色
@@ -114,12 +113,12 @@ func blur(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "Blur.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.Blur(10).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.Blur(10).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// grayscale 灰度
@@ -127,12 +126,12 @@ func grayscale(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "Grayscale.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.Grayscale().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.Grayscale().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// invertAndGrayscale 负片
@@ -140,12 +139,12 @@ func invertAndGrayscale(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "InvertAndGrayscale.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.Invert().Grayscale().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.Invert().Grayscale().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// convolve3x3 浮雕
@@ -153,32 +152,32 @@ func convolve3x3(cc *context, args ...string) (string, error) {
_ = args
name := cc.usrdir + "Convolve3x3.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
imgnrgba := im.Convolve3x3().Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.Relief().Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// rotate 旋转
func rotate(cc *context, args ...string) (string, error) {
name := cc.usrdir + "Rotate.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
r, _ := strconv.ParseFloat(args[0], 64)
imgnrgba := img.Rotate(im.Im, r, 0, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgfactory.Rotate(im.Image(), r, 0, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// deformation 变形
func deformation(cc *context, args ...string) (string, error) {
name := cc.usrdir + "Deformation.png"
// 加载图片
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 0, 0)
if err != nil {
return "", err
}
@@ -190,8 +189,8 @@ func deformation(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
imgnrgba := img.Size(im.Im, w, h).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgfactory.Size(im.Image(), w, h).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// alike 你像个xxx一样
@@ -214,12 +213,12 @@ func alike(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Anyasuki.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 82, 69)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 82, 69)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertUp(im.Im, 0, 0, 136, 21).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertUp(im.Image(), 0, 0, 136, 21).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// marriage
@@ -242,12 +241,12 @@ func marriage(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Marriage.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 1080, 1080)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 1080, 1080)
if err != nil {
return "", err
}
imgnrgba := im.InsertUp(imgs[0].Im, 0, 0, 0, 0).InsertUp(imgs[1].Im, 0, 0, 800, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.InsertUp(imgs[0].Image(), 0, 0, 0, 0).InsertUp(imgs[1].Image(), 0, 0, 800, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// anyasuki 阿尼亚喜欢
@@ -275,7 +274,7 @@ func anyasuki(cc *context, args ...string) (string, error) {
return "", err
}
canvas := gg.NewContext(475, 540)
canvas.DrawImage(img.Size(face, 347, 267).Im, 82, 53)
canvas.DrawImage(imgfactory.Size(face, 347, 267).Image(), 82, 53)
canvas.DrawImage(back, 0, 0)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
@@ -322,7 +321,7 @@ func alwaysLike(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(830, 599)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 380, 380).Im, 44, 74)
canvas.DrawImage(imgfactory.Size(face, 380, 380).Image(), 44, 74)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -363,12 +362,12 @@ func decentKiss(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "DecentKiss.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 589, 577)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 589, 577)
if err != nil {
return "", err
}
imgnrgba := im.InsertUp(imgs[0].Im, 0, 0, 0, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.InsertUp(imgs[0].Image(), 0, 0, 0, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// chinaFlag 国旗
@@ -391,12 +390,12 @@ func chinaFlag(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "ChinaFlag.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 410, 410)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 410, 410)
if err != nil {
return "", err
}
imgnrgba := im.InsertUp(imgs[0].Im, 0, 0, 0, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.InsertUp(imgs[0].Image(), 0, 0, 0, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// dontTouch 不要靠近
@@ -419,12 +418,12 @@ func dontTouch(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "DontTouch.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 410, 410)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 410, 410)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertUp(im.Im, 148, 148, 46, 238).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertUp(im.Image(), 148, 148, 46, 238).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// universal 万能表情 空白表情
@@ -436,7 +435,7 @@ func universal(cc *context, args ...string) (string, error) {
return "", err
}
canvas := gg.NewContext(500, 550)
canvas.DrawImage(img.Size(face, 500, 500).Im, 0, 0)
canvas.DrawImage(imgfactory.Size(face, 500, 500).Image(), 0, 0)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -485,7 +484,7 @@ func interview(cc *context, args ...string) (string, error) {
return "", err
}
canvas := gg.NewContext(600, 300)
canvas.DrawImage(img.Size(face, 124, 124).Im, 100, 50)
canvas.DrawImage(imgfactory.Size(face, 124, 124).Image(), 100, 50)
canvas.DrawImage(huaji, 376, 50)
canvas.DrawImage(microphone, 300, 50)
canvas.SetColor(color.Black)
@@ -527,12 +526,12 @@ func need(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Need.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 114, 114)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 114, 114)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 327, 232).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 327, 232).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// paint 这像画吗
@@ -555,12 +554,12 @@ func paint(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Paint.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 117, 135)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 117, 135)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 4, 0, 0).Im, 0, 0, 95, 107).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 4, 0, 0).Image(), 0, 0, 95, 107).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// painter 小画家
@@ -583,12 +582,12 @@ func painter(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Painter.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 240, 345)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 240, 345)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 125, 91).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 125, 91).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// perfect 完美
@@ -611,12 +610,12 @@ func perfect(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Perfect.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 310, 460)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 310, 460)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertUp(im.Im, 0, 0, 313, 64).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertUp(im.Image(), 0, 0, 313, 64).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// playGame 玩游戏
@@ -644,7 +643,7 @@ func playGame(cc *context, args ...string) (string, error) {
return "", err
}
canvas := gg.NewContext(526, 503)
canvas.DrawImage(img.Rotate(face, 10, 225, 160).Im, 161, 117)
canvas.DrawImage(imgfactory.Rotate(face, 10, 225, 160).Image(), 161, 117)
canvas.DrawImage(back, 0, 0)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
@@ -685,12 +684,12 @@ func police(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Police.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 245, 245)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 245, 245)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 224, 46).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 224, 46).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// police1 警察
@@ -713,12 +712,12 @@ func police1(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Police1.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 60, 75)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 60, 75)
if err != nil {
return "", err
}
imgnrgba := imgs[1].InsertBottom(img.Rotate(im.Im, 16, 0, 0).Im, 0, 0, 37, 291).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[1].InsertBottom(imgfactory.Rotate(im.Image(), 16, 0, 0).Image(), 0, 0, 37, 291).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// prpr 舔 舔屏 prpr
@@ -741,12 +740,12 @@ func prpr(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Prpr.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 330, 330)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 330, 330)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 8, 0, 0).Im, 0, 0, 46, 264).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 8, 0, 0).Image(), 0, 0, 46, 264).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// safeSense 安全感
@@ -775,7 +774,7 @@ func safeSense(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(430, 478)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 215, 343).Im, 215, 135)
canvas.DrawImage(imgfactory.Size(face, 215, 343).Image(), 215, 135)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -817,12 +816,12 @@ func support(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Support.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 815, 815)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 815, 815)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 23, 0, 0).Im, 0, 0, -172, -17).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 23, 0, 0).Image(), 0, 0, -172, -17).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// thinkwhat 想什么
@@ -845,12 +844,12 @@ func thinkwhat(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Thinkwhat.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 530, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 530, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// wallpaper 墙纸
@@ -873,12 +872,12 @@ func wallpaper(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Wallpaper.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 775, 496)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 775, 496)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 260, 580).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 260, 580).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// whyatme 为什么at我
@@ -901,12 +900,12 @@ func whyatme(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Whyatme.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 265, 265)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 265, 265)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 0, 0, 42, 13).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 0, 0, 42, 13).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// makeFriend 交个朋友
@@ -934,9 +933,9 @@ func makeFriend(cc *context, args ...string) (string, error) {
return "", err
}
canvas := gg.NewContext(1000, 1000)
canvas.DrawImage(img.Size(face, 1000, 1000).Im, 0, 0)
canvas.DrawImage(img.Rotate(face, 9, 250, 250).Im, 743, 845)
canvas.DrawImage(img.Rotate(face, 9, 55, 55).Im, 836, 722)
canvas.DrawImage(imgfactory.Size(face, 1000, 1000).Image(), 0, 0)
canvas.DrawImage(imgfactory.Rotate(face, 9, 250, 250).Image(), 743, 845)
canvas.DrawImage(imgfactory.Rotate(face, 9, 55, 55).Image(), 836, 722)
canvas.DrawImage(back, 0, 0)
canvas.SetColor(color.White)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
@@ -978,12 +977,12 @@ func backToWork(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "BackToWork.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 220, 310)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 220, 310)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 25, 0, 0).Im, 0, 0, 56, 32).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 25, 0, 0).Image(), 0, 0, 56, 32).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// coupon 兑换券
@@ -1016,7 +1015,7 @@ func coupon(cc *context, args ...string) (string, error) {
canvas := gg.NewContext(500, 355)
canvas.DrawImage(back, 0, 0)
canvas.Rotate(gg.Radians(-22))
canvas.DrawImage(img.Size(face, 60, 60).Im, 100, 163)
canvas.DrawImage(imgfactory.Size(face, 60, 60).Image(), 100, 163)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -1057,12 +1056,12 @@ func distracted(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "Distracted.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 500, 500)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 500, 500)
if err != nil {
return "", err
}
imgnrgba := im.InsertUp(imgs[0].Im, 0, 0, 140, 320).InsertUp(imgs[1].Im, 0, 0, 0, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := im.InsertUp(imgs[0].Image(), 0, 0, 140, 320).InsertUp(imgs[1].Image(), 0, 0, 0, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// throw 扔
@@ -1089,8 +1088,8 @@ func throw(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertUpC(img.Rotate(face, float64(rand.Intn(360)), 143, 143).Im, 0, 0, 86, 249).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertUpC(imgfactory.Rotate(face, float64(rand.Intn(360)), 143, 143).Image(), 0, 0, 86, 249).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// 远离
@@ -1113,12 +1112,12 @@ func yuanli(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "yuanli.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 420, 420, 45, 90).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 420, 420, 45, 90).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// 不是你老婆
@@ -1141,12 +1140,12 @@ func nowife(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "nowife.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 534, 493)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 400, 400, 112, 81).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 400, 400, 112, 81).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// youer 你老婆
@@ -1175,7 +1174,7 @@ func youer(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(690, 690)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(tou, 350, 350).Im, 55, 165)
canvas.DrawImage(imgfactory.Size(tou, 350, 350).Image(), 55, 165)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -1222,7 +1221,7 @@ func xiaotianshi(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(522, 665)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80)
canvas.DrawImage(imgfactory.Size(face, 480, 480).Image(), 20, 80)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -1263,12 +1262,12 @@ func neko(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "neko.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 712, 949)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 712, 949)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 0, 0, 0).Im, 450, 450, 0, 170).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 0, 0, 0).Image(), 450, 450, 0, 170).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// 给我变
@@ -1292,12 +1291,12 @@ func bian(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "bian.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 640, 550)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 640, 550)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(img.Rotate(im.Im, 0, 0, 0).Im, 380, 380, 225, -20).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(imgfactory.Rotate(im.Image(), 0, 0, 0).Image(), 380, 380, 225, -20).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// van 玩一下
@@ -1326,7 +1325,7 @@ func van(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(522, 665)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 480, 480).Im, 20, 80)
canvas.DrawImage(imgfactory.Size(face, 480, 480).Image(), 20, 80)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {
@@ -1367,12 +1366,12 @@ func eihei(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "eihei.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 690, 690)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 690, 690)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 450, 450, 121, 162).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 450, 450, 121, 162).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// fanfa 犯法
@@ -1399,9 +1398,9 @@ func fanfa(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
m1 := img.Rotate(face, 45, 110, 110)
imgnrgba := imgs[0].InsertUp(m1.Im, 0, 0, 125, 360).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
m1 := imgfactory.Rotate(face, 45, 110, 110)
imgnrgba := imgs[0].InsertUp(m1.Image(), 0, 0, 125, 360).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// huai 怀
@@ -1424,12 +1423,12 @@ func huai(cc *context, args ...string) (string, error) {
return "", err
}
name := cc.usrdir + "huai.png"
im, err := img.LoadFirstFrame(cc.headimgsdir[0], 640, 640)
im, err := imgfactory.LoadFirstFrame(cc.headimgsdir[0], 640, 640)
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(im.Im, 640, 640, 0, 0).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(im.Image(), 640, 640, 0, 0).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// haowan 好玩
@@ -1456,8 +1455,8 @@ func haowan(cc *context, args ...string) (string, error) {
if err != nil {
return "", err
}
imgnrgba := imgs[0].InsertBottom(face, 90, 90, 321, 172).Im
return "file:///" + name, writer.SavePNG2Path(name, imgnrgba)
imgnrgba := imgs[0].InsertBottom(face, 90, 90, 321, 172).Image()
return "file:///" + name, imgfactory.SavePNG2Path(name, imgnrgba)
}
// mengbi 蒙蔽
@@ -1486,8 +1485,8 @@ func mengbi(cc *context, args ...string) (string, error) {
}
canvas := gg.NewContext(1080, 1080)
canvas.DrawImage(back, 0, 0)
canvas.DrawImage(img.Size(face, 100, 100).Im, 392, 460)
canvas.DrawImage(img.Size(face, 100, 100).Im, 606, 443)
canvas.DrawImage(imgfactory.Size(face, 100, 100).Image(), 392, 460)
canvas.DrawImage(imgfactory.Size(face, 100, 100).Image(), 606, 443)
canvas.SetColor(color.Black)
_, err = file.GetLazyData(text.BoldFontFile, control.Md5File, true)
if err != nil {