Add timestamp option

This commit is contained in:
Milan Nikolic
2019-10-06 05:48:12 +02:00
parent 1c342a67df
commit adf2a742e6
11 changed files with 98 additions and 40 deletions

View File

@@ -6,10 +6,14 @@ package camera
import (
"fmt"
"image"
"image/color"
"image/draw"
"time"
"github.com/disintegration/imaging"
"github.com/korandiz/v4l"
"github.com/korandiz/v4l/fmt/mjpeg"
"github.com/pbnjay/pixfont"
im "github.com/gen2brain/cam2ip/image"
)
@@ -82,10 +86,6 @@ func (c *Camera) Read() (img image.Image, err error) {
return
}
if c.opts.Rotate == 0 {
return
}
switch c.opts.Rotate {
case 90:
img = imaging.Rotate90(img)
@@ -95,6 +95,17 @@ func (c *Camera) Read() (img image.Image, err error) {
img = imaging.Rotate270(img)
}
if c.opts.Timestamp {
dimg, ok := img.(draw.Image)
if !ok {
err = fmt.Errorf("camera: %T is not a drawable image type", img)
return
}
pixfont.DrawString(dimg, 10, 10, time.Now().Format("2006-01-02 15:04:05"), color.White)
img = dimg
}
return
}