Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carsonslovoka/go-make-gif
https://github.com/carsonslovoka/go-make-gif
chinese gif go golang png taiwan tool
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/carsonslovoka/go-make-gif
- Owner: CarsonSlovoka
- License: mit
- Created: 2023-07-20T07:06:36.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-07T07:51:58.000Z (5 months ago)
- Last Synced: 2024-06-21T14:28:39.588Z (5 months ago)
- Topics: chinese, gif, go, golang, png, taiwan, tool
- Language: Go
- Homepage:
- Size: 249 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-make-gif
一個簡易生成gif的工具
## 🛠️Install
本專案總共提供兩個工具
1. make-gif: 純粹就是把每一張圖片串在一起,只能調整delay的時間而已。
2. make-gifEx: 這個可以提供更多的調整,例如字幕自動放置到底部中間, 可以選擇要截取圖片來源的位置,以及貼到目的地的位置,都能調整### install make-gif
```yaml
git clone https://github.com/CarsonSlovoka/go-make-gif.git
cd go-make-gif/cmd/make-gif
go install # 安裝在 GOPATH/bin 之中
```### install make-gifex
```yaml
git clone https://github.com/CarsonSlovoka/go-make-gif.git
cd go-make-gif/cmd/make-gifex
go install # 安裝在 GOPATH/bin 之中
go install github.com/CarsonSlovoka/go-make-gif/cmd/make-gifex@latest
go install github.com/CarsonSlovoka/go-make-gif/cmd/[email protected]
```> 請將`GOPATH/bin`將入到系統變數中會比較容易使用
>
> 或者您想要套過`go build -o .exe`來產生執行檔也可以## 🎮USAGE:
前置動作,請先準備好您的圖片集
> 您如果想要快速從剪貼簿蒐集圖片,可以參考我寫的powershell腳本[Watch-ClipboardImage](https://github.com/CarsonSlovoka/powershell/blob/4d30d3137f50e01967ac3d235ded48c8a10a2e0b/src/keyboard/clipboard.psm1#L335-L486)它可以監聽剪貼簿,當剪貼簿有圖片時會自動將圖片保存在指定的目錄
### make-gif.exe
1. 準備好您的圖片集,假設您放在: `C:\...\myImgDir`
2. 運行指令```
make-gif -imgDir="C:\...\myImgDir" -delay=100 -outputPath="./result.gif"
```### make-gifex.exe
請項目只需要餵入一個json檔案,請參考[.gif.manifest.json](src/make-gifex/.gif.manifest.json)
```json5
{
"width": 173, // 高、寬為cc字幕會用到的內容
"height": 178,
"outputPath": "./testFiles/result.gif",
"loopCount": 2, // 0: loop forever, -1: 每幀圖片只會顯示一次, 其他數值: 重複到該次數為止
"default": { // 可以統一調整每張圖片的預設值,如果不想額外調整,可以不需要寫
// 所有可以調整的項目可以參考: https://github.com/CarsonSlovoka/go-make-gif/blob/ed6b8ecf8a06b35af9463c78a1b406c3f36e51ed/src/make-gifex/main.go#L42-L58
"imgPath": "./testFiles", // 圖片的根目錄,讓您在設定圖片可以不需要寫太多路徑
"isCC": false, // 若是cc字幕,會自動放到畫面的底部且正中的位置
"delay": 50 // 1單位為0.01秒,所以50為0.5秒
},
"datas": [ // 以下放置您的圖片資訊
{
"imgPath": "index.png", // 要使用絕對路徑也可以, 注意第一章圖片最好要大一點,不然會遇到錯誤: gif: image block is out of bounds
"delay": 0
},
{
"imgPath": "apple.png"
},
{
"imgPath": "banana.png"
},
{
"note:": "",
"imgPath": "apple_leaf.png",
"delay": 150,
"sx": 40, // 來源圖片的x開始位置
"sy": 40, // 來源圖片的y位置
"w": 73, // width
"h": 78, // height
"dstX": 50, // 目的地的x位置
"dstY": 20 // destinationY
// 沒有dstWidth: 寬高都用和來源圖片一模一樣的大小
},
{
"imgPath": "myCC.png",
"isCC": true // 此時的位置會自動調整,不需要設定位置
},
{
"imgPath": "end.png"
}
]
}
```> 有關產生cc字幕的圖片,可以考慮使用簡單的html來產生, 可以參考[make-cc.html](tool/make-cc.html),直接打開敲入想要的字幕就能用生成
## 🎬 demo
[參考](demo/v0.1.0/README.md)
## ❓ 疑難排解
### gif: image block is out of bounds
請確保之前的圖片尺寸至少有一張比目前的尺寸要大