Mund aus UIImage auschneiden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mund aus UIImage auschneiden

    Guten Tag,
    ich möcht aus einen UIImage den Mund ausschneiden. Dazu habe ich folgenden Code geschrieben:

    Quellcode

    1. //transform Image
    2. CGFloat xBounds = feature.bounds.origin.x;
    3. CGFloat yBounds = cameraView.image.size.height - feature.bounds.origin.y - feature.bounds.size.height;
    4. CGFloat heightBounds = feature.bounds.size.height;
    5. CGFloat widthBounds = feature.bounds.size.width;
    6. UIImage *transformImage = cameraView.image;
    7. CGSize size = CGSizeMake(widthBounds, heightBounds);
    8. UIGraphicsBeginImageContext(size);
    9. [transformImage drawInRect:CGRectMake(-xBounds, -yBounds, cameraView.image.size.width, cameraView.image.size.height)];
    10. UIImage *endImage = UIGraphicsGetImageFromCurrentImageContext();
    11. UIGraphicsEndImageContext();
    12. //cut Mouth
    13. UIImage *mouthImage;
    14. if (feature.hasMouthPosition) {
    15. CGFloat mouthWidth = endImage.size.width * 0.5;
    16. CGFloat mouthHeight = endImage.size.height * 0.5;
    17. CGSize mouthSize = CGSizeMake(mouthWidth, mouthHeight);
    18. UIGraphicsBeginImageContext(mouthSize);
    19. CGPoint mouthPoint;
    20. mouthPoint.x = endImage.size.width - feature.mouthPosition.x ;
    21. mouthPoint.y = endImage.size.height - feature.mouthPosition.y;
    22. [endImage drawInRect:CGRectMake(-mouthPoint.x, -mouthPoint.y, endImage.size.width, endImage.size.height)];
    23. mouthImage = UIGraphicsGetImageFromCurrentImageContext();
    24. cameraView.image = mouthImage;
    25. image = [mouthImage CIImage];
    26. UIGraphicsEndImageContext();
    27. }
    Alles anzeigen

    Nur leider funktioniertr der Code nicht richtig. Das Bild wird nie am Mundanfang ausgeschnitten, sondern immer weiter links oder weiter rechts. Manchmal wird auch einfach nur ein schwarzes Bild bzw. nur die Augen angezeigt. Was mache ich falsch? Eigentlich braucht man ja die X-Koordinate nicht umzurechnen. Aber wenn ich diese nicht umrechne wird statt den Mund das Ohr ausgeschnitten.
    Vielen Dank im Voraus
    Nils