Natürlich ist es einfach, eine einfache Farbe für einen Hintergrund zu setzen:
Heutzutage ist es üblich, statt "normales Grau" einen "unscharfen" oder "wolkigen" Hintergrund als Designfunktion in Apps zu verwenden.
Zum Beispiel ist hier ein paar "unscharfe" Hintergründe - es ist nur eine einfarbige Farbe mit vielleicht etwas Rauschen und vielleicht verschwimmen.
Sie können Hintergründe ungefähr so sehen, betrachten Sie beliebte Feed-Apps (Whassapp usw.). Es ist eine "Modeerscheinung" unseres Tages.
Es kam mir in den Sinn, es wäre fantastisch, wenn Sie dies in Swift im Code tun könnten
Hinweis: Mit einem PNG zu beginnen ist keine elegante Lösung:
Hoffentlich ist es möglich, alles von Grund auf neu zu programmieren.
Es wäre großartig, wenn der Inspektor einen Schieberegler im IBDesign-Stil hätte, "Add faddish 'körnigen" Hintergrund ... " - Sollte in der neuen Ära möglich sein!
Dies wird Sie auf der Grundlage von etwas, das ich vor langer Zeit geschrieben habe, beginnen:
@IBInspectable
Eigenschaften:
noiseColor
: die Rausch- / Kornfarbe, dies gilt für die backgroundColor
der Ansicht
noiseMinAlpha
: das minimale Alpha das randomisierte Rauschen kann noiseMaxAlpha
: das maximale Alpha das randomisierte Rauschen kann noisePasses
: Wie oft das Rauschen angewendet wird, mehr Pässe sind langsamer, können aber zu einem besseren Rausch-Effekt führen noiseSpacing
: Wie häufig das Zufallsrauschen auftritt, bedeutet ein höherer Abstand, dass das Rauschen weniger häufig auftritt Erläuterung:
Wenn sich eine der konfigurierbaren Rauscheigenschaften ändert, wird die Ansicht zum Neuzeichnen markiert. In der Zeichenfunktion wird UIImage
generiert (oder von NSCache
falls verfügbar).
Bei der Erzeugungsmethode wird jedes Pixel iteriert, und wenn das Pixel Rauschen sein sollte (abhängig vom Abstandsparameter), wird die Rauschfarbe mit einem zufälligen Alpha-Kanal angewendet. Dies geschieht so oft wie die Anzahl der Durchgänge.
.
%Vor% Während die Frage nach einer "programmatischen" Lösung fragt, fällt mir ein, dass das, was Sie versuchen und als "unscharf" bezeichnen, viel Ähnlichkeit mit UIBlurEffect
, UIVisualEffectView
und UIVibrancyEffect
hat, die eingeführt wurden iOS 8.
Um diese zu verwenden, können Sie UIVisualEffectView
in Ihre Storyboard-Szene ziehen, um einen bestimmten Bereich des Bildschirms mit einem Unschärfe- oder Vibrations-Effekt zu versehen.
Wenn Sie möchten, dass eine ganze Szene mit dem visuellen Effekt über der vorherigen Szene erscheint, sollten Sie Folgendes konfigurieren:
Setzen Sie die Hintergrundfarbe des präsentierten View-Controllers auf clearColor
.
Betten Sie den gesamten Inhalt des dargestellten View-Controllers in ein UIVisualEffectView
Damit können Sie Effekte wie folgt erhalten:
Mit GPUImage können Sie leicht etwas aufbauen. Es kommt mit einer großen Menge von Unschärfen, Rauschgeneratoren und Filtern. Sie können sie nacheinander verbinden und komplexe GPU beschleunigte Effekte aufbauen.
Um Ihnen einen guten Startpunkt zu geben. Hier ist ein kurzer schmutziger Prototyp einer Funktion, die GPUImage verwendet, um etwas zu tun, was Sie wollen. Wenn Sie 'orUseNoise' auf YES setzen, wird ein unscharfes Bild auf der Grundlage von Perlin-Rauschen anstelle des Bildes erzeugt. Ändern Sie die angezeigten Werte, um den gewünschten Effekt zu ändern.
%Vor%Dies ist ein einfacher Stapel von:
GPUImagePicture - & gt; GPUImagePerlinNoiseFilter - & gt; GPUImageGaussianBlurFilter
.. mit ein wenig Bearbeitungscode, um ein Bild richtig zu machen.
Sie können versuchen, den Stapel zu ändern, um einige der vielen anderen Filter zu verwenden.
HINWEIS: Auch wenn Sie das Rauschen anstelle des Bildes verwenden. Sie müssen weiterhin ein Bild bereitstellen, bis Sie das Teil ausgeschnitten haben.
Wir verwenden eine großartige Komponente KGNoise . Es ist wirklich einfach zu bedienen. Ich denke, es kann dir helfen.
KGNoise erzeugt zufällige schwarze und weiße Pixel in einem statischen 128x128 Bild, das dann gekachelt wird, um den Raum zu füllen. Die zufälligen Pixel werden mit einem Wert versehen, der so gewählt wurde, dass er am zufälligsten aussieht. Dies bedeutet auch, dass das Rauschen zwischen App-Starts konsistent aussieht.
Ich stimme der Antwort zu GPUImage zu und da Sie kein Bild bereitstellen möchten, könnten Sie ein leeres Bild wie folgt erstellen:
%Vor%Der Hauptvorteil der Verwendung von GPUImage ist die Geschwindigkeit.
Tags und Links ios image-processing swift gpuimage dynamic-image-generation