68 lines
2.6 KiB
Go
68 lines
2.6 KiB
Go
package main
|
||
|
||
import (
|
||
"bufio"
|
||
"fmt"
|
||
"io/ioutil"
|
||
"log"
|
||
"os"
|
||
|
||
"github.com/golang/freetype"
|
||
"github.com/hqbobo/text2pic"
|
||
)
|
||
|
||
func main() {
|
||
|
||
// Read the font data.
|
||
fontBytes, err := ioutil.ReadFile("NewYork.ttf")
|
||
if err != nil {
|
||
log.Println(err)
|
||
return
|
||
}
|
||
//produce the fonttype
|
||
f, err := freetype.ParseFont(fontBytes)
|
||
if err != nil {
|
||
log.Println(err)
|
||
return
|
||
}
|
||
|
||
//define New picture with given width in px
|
||
//the height will be calucated before draw on picture
|
||
//picture will be resize to 80% of the width you given
|
||
pic := text2pic.NewTextPicture(text2pic.Configure{
|
||
Width: 720,
|
||
})
|
||
|
||
//add chinese line
|
||
pic.AddTextLine("1.这个是标题", 20, f, text2pic.ColorRed, text2pic.Padding{Left: 20, Top: 10, Bottom: 20})
|
||
pic.AddTextLine(" 北京铁路局今天凌晨2时16分发布消息称:8月12日23时04分,aaaa京沪高铁廊坊至北京aaaaa南间发生设备故障,导致部分列车晚点。铁路部门及时启动应急预案处置时16分发布消息称时16分发布消息称北京铁路局今天凌晨2时16分发布消息称:8月12日23时04分,aaaa京沪高铁廊坊至北京aaaaa南间发生设备故障,导致部分列车晚点。铁路部门及时启动应急预案处置时16分发布消息称时16分发布消息称北京铁路局今天凌晨2时16分发布消息称:8月12日23时04分,aaaa京沪高铁廊坊至北京aaaaa南间发生设备故障,导致部分列车晚点。铁路部门及时启动应急预案处置时16分发布消息称时16分发布消息称", 12, f, text2pic.ColorGreen, text2pic.Padding{Left: 20, Right: 20, Bottom: 30})
|
||
//add picture
|
||
// file, err := os.Open("download.png")
|
||
// if err != nil {
|
||
// fmt.Println(err)
|
||
// }
|
||
// defer file.Close()
|
||
|
||
// pic.AddPictureLine(file, text2pic.Padding{Bottom: 20})
|
||
|
||
// //add full english text
|
||
// pic.AddTextLine("3.For English", 20, f, text2pic.ColorRed, text2pic.Padding{Bottom: 20})
|
||
// pic.AddTextLine(" The Turkish lira plunged as much as 11% against the dollar, hitting a record low, before recovering some of its losses in volatile trading. The lira had already plummeted more than 20% last week as a political clash with the United States intensified and investors fretted about the Turkish government's lack of action to tackle the problems plaguing its economy. ", 13, f, text2pic.ColorBlue, text2pic.Padding{Left: 20, Right: 20, Bottom: 30})
|
||
|
||
// Save the output to file
|
||
outFile, err := os.Create("out.jpg")
|
||
if err != nil {
|
||
return
|
||
}
|
||
defer outFile.Close()
|
||
b := bufio.NewWriter(outFile)
|
||
//produce the output
|
||
pic.Draw(b, text2pic.TypeJpeg)
|
||
// pic.Draw(b, text2pic.TypePng)
|
||
e := b.Flush()
|
||
if e != nil {
|
||
fmt.Println(e)
|
||
}
|
||
|
||
}
|