//任意角度 顺时针旋转图片 funcRotateImage(src []byte,angle int)( []byte,error){ //var img, _,err = image.Decode(bytes.NewReader(src)) var img,err = GetImage(src) if err!=nil{ return src,err } angle = angle % 360 //弧度转换 radian := float64(angle) * math.Pi / 180.0 cos := math.Cos(float64(radian)) sin := math.Sin(radian) //原图的宽高 w := float64(img.Bounds().Dx()) h := float64(img.Bounds().Dy())
//新图高宽 W := int((math.Max(math.Abs(float64(w*cos-h*sin)), math.Abs(w * cos + h * sin)))) H := int( (math.Max(math.Abs(w * sin - h * cos), math.Abs(w * sin + h * cos))) )