| | |
| | | "time" |
| | | "webserver/extend/code" |
| | | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "crypto/rand" |
| | | "fmt" |
| | | "github.com/gin-gonic/gin" |
| | |
| | | return nil, err |
| | | } |
| | | return pix, nil |
| | | } |
| | | |
| | | // 长宽变为一比一,每边各扩百分之20 |
| | | func EnlargeSize(x0, y0, x1, y1 int, i protomsg.Image) (x0_new, y0_new, x1_new, y1_new int) { |
| | | // 先把长宽变为一比一 |
| | | chazhi := (y1 - y0) - (x1 - x0) |
| | | x0 = x0 - chazhi/2 |
| | | if x0 < 0 { |
| | | x0 = 0 |
| | | } |
| | | x1 = x1 + chazhi/2 |
| | | if x1 > int(i.Width) { |
| | | x1 = int(i.Width) |
| | | } |
| | | |
| | | // 再把每边各扩大百分之20 |
| | | enlarge := float32(0.2) |
| | | x0_new = int((1+enlarge)*float32(x0) - enlarge*float32(x1)) |
| | | if x0_new < 0 { |
| | | x0_new = 0 |
| | | } |
| | | x1_new = int((1+enlarge)*float32(x1) - enlarge*float32(x0)) |
| | | if x1_new > int(i.Width) { |
| | | x1_new = int(i.Width) |
| | | } |
| | | y0_new = int((1+enlarge)*float32(y0) - enlarge*float32(y1)) |
| | | if y0_new < 0 { |
| | | y0_new = 0 |
| | | } |
| | | y1_new = int((1+enlarge)*float32(y1) - enlarge*float32(y0)) |
| | | if y1_new > int(i.Height) { |
| | | y1_new = int(i.Height) |
| | | } |
| | | return |
| | | } |
| | | |
| | | func StringIpToInt(ipstring string) int { |