최근 점점 더 많은 웹사이트와 애플리케이션이 사용자의 개인 정보를 보호하고 정보 보안을 보장하기 위해 텍스트-이미지 변환 기능을 사용하기 시작했습니다. 따라서 Golang을 사용하여 텍스트를 이미지로 변환하는 방법을 배우는 것은 매우 귀중한 기술입니다. 이 기사에서는 Golang을 사용하여 단 몇 줄의 코드로 이 기능을 구현하는 방법을 보여줍니다.
먼저 다음 라이브러리를 가져와야 합니다.
import ( "bytes" "image" "image/color" "image/draw" "image/png" "golang.org/x/image/font" "golang.org/x/image/font/basicfont" "golang.org/x/image/math/fixed" )
필요한 라이브러리를 가져온 후 GenerateTextImage()
라는 함수를 만들어 매개변수를 수락하고 이미지를 생성해야 합니다. 이 함수는 []byte
유형의 이미지를 반환합니다. GenerateTextImage()
的函数以接受参数并生成图像。此函数将返回一个 []byte
类型的图像。
func GenerateTextImage(text string, width int, height int) []byte { // create a new image img := image.NewRGBA(image.Rect(0, 0, width, height)) // set image background color to white white := color.RGBA{255, 255, 255, 255} draw.Draw(img, img.Bounds(), &image.Uniform{white}, image.ZP, draw.Src) // add text to image c := freetype.NewContext() c.SetDPI(72) c.SetFont(basicfont.NewDrawFont()) c.SetFontSize(20) c.SetClip(img.Bounds()) c.SetDst(img) c.SetSrc(image.Black) pt := freetype.Pt(10, 10+int(c.PointToFixed(20)>>6)) _, err := c.DrawString(text, pt) if err != nil { fmt.Println(err) } // encode the image to png format and return the bytes var buff bytes.Buffer png.Encode(&buff, img) return buff.Bytes() }
在上述代码块中,我们首先创建了一个空白的 RGBA 图像。我们还设置了图像背景的颜色,使其为白色。
接下来,我们添加文本到图像中。我们使用 freetype 字体库中的 NewContext()
函数创建一个新的上下文,并设置字体和字体大小。我们还指定要添加文本的窗口大小。然后,我们指定黑色作为字体的颜色,并在图像上指定文本位置。
最后,我们将图像编码为 PNG 格式,并将其返回为字节切片。
要调用此函数,您只需要传递要在图像中添加的文本、图像的宽度和高度即可。例如:
text := "Hello, World!" width := 200 height := 50 imageBytes := GenerateTextImage(text, width, height)
在上述代码块中,我们将 "Hello, World!" 添加到图像中,设置图像的宽度为 200 像素,高度为 50 像素,并将生成的图像字节数组存储在 imageBytes
rrreee
NewContext()
함수를 사용하여 새 컨텍스트를 만들고 글꼴과 글꼴 크기를 설정합니다. 또한 텍스트가 추가될 창 크기도 지정합니다. 그런 다음 검정색을 글꼴 색상으로 지정하고 이미지의 텍스트 위치를 지정합니다. 🎜🎜마지막으로 이미지를 PNG 형식으로 인코딩하고 바이트 슬라이스로 반환합니다. 🎜🎜이 함수를 호출하려면 이미지에 추가하려는 텍스트와 이미지의 너비 및 높이를 전달하기만 하면 됩니다. 예: 🎜rrreee🎜위 코드 블록에서는 이미지에 "Hello, World!"를 추가하고 이미지 너비를 200픽셀, 높이를 50픽셀로 설정하고 결과 이미지 바이트 배열을 imageBytes
변수. 🎜🎜이것은 Golang을 사용하여 텍스트를 이미지로 변환하는 간단한 방법입니다. freetype 라이브러리와 표준 라이브러리의 이미지 패키지를 사용하면 고품질 텍스트 이미지를 쉽게 만들 수 있습니다. 🎜위 내용은 golang 텍스트를 이미지로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!