mirror of
https://github.com/gen2brain/cam2ip.git
synced 2025-12-15 11:58:33 +00:00
49 lines
1012 B
Go
49 lines
1012 B
Go
package image
|
|
|
|
import (
|
|
"image"
|
|
"image/color"
|
|
"image/draw"
|
|
"time"
|
|
|
|
"github.com/anthonynsimon/bild/transform"
|
|
"github.com/pbnjay/pixfont"
|
|
)
|
|
|
|
func Rotate(img image.Image, angle int) image.Image {
|
|
switch angle {
|
|
case 90:
|
|
img = transform.Rotate(img, 90, &transform.RotationOptions{ResizeBounds: true})
|
|
case 180:
|
|
img = transform.Rotate(img, 180, &transform.RotationOptions{ResizeBounds: true})
|
|
case 270:
|
|
img = transform.Rotate(img, 270, &transform.RotationOptions{ResizeBounds: true})
|
|
}
|
|
|
|
return img
|
|
}
|
|
|
|
func Flip(img image.Image, dir string) image.Image {
|
|
switch dir {
|
|
case "horizontal":
|
|
img = transform.FlipH(img)
|
|
case "vertical":
|
|
img = transform.FlipV(img)
|
|
}
|
|
|
|
return img
|
|
}
|
|
|
|
func Timestamp(img image.Image, format string) image.Image {
|
|
dimg, ok := img.(draw.Image)
|
|
if !ok {
|
|
b := img.Bounds()
|
|
dimg = image.NewRGBA(image.Rect(0, 0, b.Dx(), b.Dy()))
|
|
draw.Draw(dimg, b, img, b.Min, draw.Src)
|
|
}
|
|
|
|
pixfont.DrawString(dimg, 10, 10, time.Now().Format(format), color.White)
|
|
|
|
return dimg
|
|
}
|