Hilfe :) ImageView über ImageView verschieben - mergen anschließend ungenau

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

  • Hilfe :) ImageView über ImageView verschieben - mergen anschließend ungenau

    Hallo,

    ich hab zwei ImageViews, die erste Imageview ist ein Foto, die zweite Imageview ist eine Maske für das Foto.
    Die Maske kann man am Foto verschieben, und dann versuche ich beide ImageViews zu mergen für
    das fertige Foto mit Maske.

    Problem: Klappt alles, nur ist am Ende auf dem fertigen Foto die Maske leicht verschoben auf der y-Achse, obwohl
    sie eigentlich richtig über dem Foto vorher lag. Hat jemand vielleicht einen Tipp warum das sein könnte?


    Code:

    UIGraphicsBeginImageContext(myImageViewPhotoShot.image.size);


    // Foto zeichnen
    [myImageViewPhotoShot.image drawInRect:CGRectMake(0, 0, myImageViewPhotoShot.image.size.width, myImageViewPhotoShot.image.size.height)];



    // Maske zeichnen
    // CGRectMake für Maske mit origin.x wegen verschieben der Maske über dem Foto
    // myImageViewPhotoshot.image.size.width anstatt myImageViewMaske.image.size.width, weil sonst
    // seltsamerweise die Maske im gemergten Bild viel zu klein gezeichnet wird, obwohl sie vorher im
    // Code exakt die gleiche Größe erhält wie das Foto...??
    [myImageViewMaske.image drawInRect:CGRectMake(myImageViewMaske.frame.origin.x,
    myImageViewMaske.frame.origin.y,
    myImageViewPhotoShot.image.size.width,
    myImageViewPhotoShot.image.size.height)
    blendMode:kCGBlendModeNormal alpha:1.0];

    UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [appDelegate.finishedPhotoImageView setImage:resultingImage];



    Wäre echt super, wenn jemand ne Idee hätte, was da nicht passt. Es funktioniert schon fast, nur eben 10-20 Pixel auf
    der y-Achse ist die Maske verschoben leider und ich komm nicht drauf warum :)
  • Vielleicht sind die Korrdinaten verrutscht weil eines der Views subview eines anderen ist. Als Beispiel: View eins hat den Ursprung (10,10) im Window, wenn das zweite nun Subview dessen ist und du als Ursprung auch (10,10) angibst hat das zweite dann im Verhältnis zum Window (20,20) als Ursprung, weil die (10,10) vom superview aus "gemessen" werden