blob: 332bc695d713cf2418c1001be5e425f208a04457 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// Package htmlimg produces base64-encoded HTML <img> tags.
//
// <img src="data:image/png;base64,iVBORw...">
package htmlimg
import (
"bytes"
"encoding/base64"
"html/template"
"image"
"image/png"
)
// Encode PNG- and then base64-encodes img and returns it embedded in an
// HTML <img> tag.
func Encode(m image.Image) (template.HTML, error) {
pngBuf := new(bytes.Buffer)
if err := png.Encode(pngBuf, m); err != nil {
return "", err
}
b64 := base64.StdEncoding.EncodeToString(pngBuf.Bytes())
return template.HTML(`<img src="data:image/png;base64,` + b64 + `">`), nil
}
|