Ich versuche eine Gaußsche Unschärfe auf einem UIImage zu tun, das mein Photoshop-Modell repliziert.Blur UIIage außerhalb der Grenzen (Photoshop-Stil)
Gewünschtes Verhalten: In Photoshop, wenn ich eine Gaußsche Unschärfe-Filter laufen, die Bildschicht größer wird als Folge der unscharfen Kanten.
Beobachtetes Verhalten: Mit GPUImage kann ich meine UIImages erfolgreich verwischen. Das neue Bild wird jedoch an den ursprünglichen Grenzen abgeschnitten, sodass eine harte Kante entsteht.
Einstellung UIImageView.layer.masksToBounds = NO;
hilft nicht, da das Bild nicht die Ansicht beschnitten wird.
Ich habe auch versucht, die UIImage zentriert auf ein größeres klares Bild vor Unschärfe und dann die Größe zu setzen. Das hat auch nicht geholfen.
Gibt es eine Möglichkeit, diese Unschärfe im "Photoshop-Stil" zu erzielen?
UPDATE Arbeitslösung dank Brad Larson:
UIImage sourceImage = ...
GPUImagePicture *imageSource = [[GPUImagePicture alloc] initWithImage:sourceImage];
GPUImageTransformFilter *transformFilter = [GPUImageTransformFilter new];
GPUImageFastBlurFilter *blurFilter = [GPUImageFastBlurFilter new];
//Force processing at scale factor 1.4 and affine scale with scale factor 1/1.4 = 0.7
[transformFilter forceProcessingAtSize:CGSizeMake(SOURCE_WIDTH * 1.4, SOURCE_WIDTH * 1.4)];
[transformFilter setAffineTransform:CGAffineTransformMakeScale(0.7, 0.7)];
//Setup desired blur filter
[blurFilter setBlurSize:3.0f];
[blurFilter setBlurPasses:20];
//Chain Image->Transform->Blur->Output
[imageSource addTarget:transformFilter];
[transformFilter addTarget:blurFilter];
[imageSource processImage];
UIImage *blurredImage = [blurFilter imageFromCurrentlyProcessedOutputWithOrientation:UIImageOrientationUp];
Wenn Sie "versucht haben, den UIImage vor dem Verwischen auf ein größeres, klares Bild zu zentrieren", meinen Sie, dass Sie das Originalbild in ein größeres UII-Bild eingemischt haben, also ein Bild? Verwenden Sie in diesem Fall ein weißes Bild anstelle eines klaren Bildes und stellen Sie sicher, dass das weiße Bild über einen Alpha-Kanal verfügt. Ich vermute, das klare Bild hat kein Alpha und somit sieht das Ergebnis abgeschnitten aus. – bobnoble