1
0

rotate_and_flip.go 415 B

12345678910111213141516171819202122232425
  1. package processing
  2. func (p *Processor) rotateAndFlip(c *Context) error {
  3. rotateAngle := c.PO.Rotate()
  4. if c.Angle%360 == 0 && rotateAngle%360 == 0 && !c.Flip {
  5. return nil
  6. }
  7. if err := c.Img.CopyMemory(); err != nil {
  8. return err
  9. }
  10. if err := c.Img.Rotate(c.Angle); err != nil {
  11. return err
  12. }
  13. if c.Flip {
  14. if err := c.Img.Flip(); err != nil {
  15. return err
  16. }
  17. }
  18. return c.Img.Rotate(rotateAngle)
  19. }