2012-10-16 7 views
9

Ich versuche, ein Bild mit CoreImage auf iOS 6 zu verwischen, ohne einen auffälligen schwarzen Rand zu haben. Apple documentation besagt, dass die Verwendung eines CIAffineClamp-Filters dies erreichen kann, aber ich bin nicht in der Lage, ein Ausgangsbild vom Filter zu erhalten. Hier ist, was ich versucht habe, aber leider wird ein leeres Bild erstellt, wenn ich auf [clampFilter outputImage] zugreife. Wenn ich nur die Unschärfe mache, wird ein Bild erzeugt, aber mit dem dunklen Einfügerand.CIGaussianBlur und CIAffineClamp auf iOS 6

Antwort

14

Der CIAffineClamp-Filter setzt Ihre Ausdehnung als unendlich, was Ihren Kontext verwirrt. Versuchen Sie, den Vorklammerungsumfang CGRect zu speichern und dann dem Kontextinitialisierer zuzuführen.

+4

Die contextRect war das Problem. Ich habe es tatsächlich behoben, indem ich diese Zeile so geändert habe, dass sie beim Erstellen des CGImage am Ende den Wert von inputImage verwendet: 'CGImageRef cgimg = [Kontext createCGImage: outputImage fromRect: inputImage.extent];' – bryguy1300