Bild drehen mit CGContextDrawImage

Wie kann ich ein Bild drehen, gezeichnet von CGContextDrawImage() im Zentrum?

In drawRect:

CGContextSaveGState(c);

rect = CGRectOffset(rect, -rect.size.width / 2, -rect.size.height / 2);
CGContextRotateCTM(c, angle);
CGContextDrawImage(c, rect, doodad.CGImage);
CGContextRotateCTM(c, -angle);
CGContextTranslateCTM(c, pt.x, pt.y);

prevRect = rect;

CGContextRestoreGState(c);

Ziehe ich das Bild auf den Ursprung, und drehen Sie Sie in Ihre Mitte, dann übersetzen, wo es gezeichnet werden soll. Funktioniert nicht.

  • drehen kann man zentral das Bild anzeigen, indem Sie die Einstellung der Anker-Punkt
  • Dies setzt Voraus, dass das Bild in einer Ansicht ganz von selbst (wie ein Bild-Ansicht), und dass die Fragesteller nicht beabsichtigt, speichern Sie das gedrehte Bild überall. (Wenn man es in einem Bild anzuzeigen und zu drehen, dass ist wohl die richtige Lösung, wenn die letztere Annahme wahr ist.)
InformationsquelleAutor Morrowless | 2013-05-27
Schreibe einen Kommentar