Ist es wirklich unmöglich, Gradienten ohne Banding zu haben?

Ich habe Mühe, einen Farbverlauf ohne Streifenbildung zu erstellen. Ich habe mir alle Videos auf YT angesehen und ausprobiert: Weichzeichnen aller Art, Rauschen, Dither, Bittiefe, Pinsel und den Farbverlauf in Illustrator erstellen.

Alles schlägt fehl und ich kann immer die Streifenbildung sehen.

Die Hintergrundfarbe, die ich hinter dem Bild verwende: 050b3cGeben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Antworten (7)

Rauschen und Zittern liefern normalerweise recht gute Ergebnisse. Es gibt ein paar Dinge, die die „Streifenbildung“ deutlicher machen können:

  • „Start“- und „Stopp“-Farben
  • Gradientengröße (Banding wird deutlicher, wenn „Start“- und „Stopp“-Punkte weiter voneinander entfernt sind – Gradient muss auf mehr Samples mit der konstanten Anzahl verfügbarer Helligkeitswerte „projiziert“ werden),
  • Monitor falsch kalibriert/schlechte Qualität (haben Sie versucht, Ihre Farbverläufe auf verschiedenen Monitoren anzuzeigen?),
  • Reduzierte Farbauflösung „pro Kanal“ in den Systemeinstellungen (scheint heutzutage unwahrscheinlich, da die meisten Systeme 32-bps-Einstellungen verwenden, aber immer noch eine Möglichkeit),
  • „wilde“ Videokarten-Gammaeinstellungen (z. B. in „Videokarten-Systemsteuerung“ oder Gamma-Loader wie Adobe Gamma Loader),
  • zu „aggressives“ Monitorprofil (wieder View-on-other-monitors-Test sollte Hinweise darauf geben),
  • reduzierte Bittiefe eines Bildes.

Es wäre auch nützlich zu wissen, was Ihr Zielgerät ist. Es gibt einen Unterschied, wie weit Sie Ihren Gradienten „verteilen“ können, ob Sie auf Druck abzielen (welche Art von Druck spielt auch eine Rolle, z. B.: Bildschirme wie AM, pseudostochastisch, stochastisch), Computermonitore oder Displays von Mobilgeräten. Es macht dann auch einen Unterschied, ob Sie Rastergrafiken oder Vektorgrafiken verwenden.

Fazit ist: Das ist ein ziemlich komplexes Thema :).

Sie haben zu 100% Recht, dass dies von einem Monitor abhängig ist. Nachdem ich Ihre Antwort gelesen habe, habe ich beschlossen, das blaue Bild (siehe aktualisiertes OP) auf meinem iPad3 zu testen. Die Qualität des Farbverlaufs auf dem iPad3 ist einwandfrei. Die Sache ist, dass ich nicht die Monitore aller Internetnutzer kontrollieren kann.
Ja, auf dem weißen Farbverlauf kann ich Bänder sehen, aber auf dem blauen Farbverlauf sehe ich keine Bänder
@Ryan Es ist nicht weiß, es ist transparent. Sie sollten es nehmen und eine Ebene (Farbe: 050b3c) darunter in PS hinzufügen. Beginnen Sie dann mit der Deckkraft der darunter liegenden Ebene zu spielen und sehen Sie, wie sich die Verlaufsstreifen ändern.
@RegisteredUser Es ist mir egal, wenn die Antwort dieselbe bleibt, dass sie von den oben genannten Eigenschaften zusammen mit den Monitoreinstellungen abhängt.
@RegisteredUser Das ist der Punkt! Sie können die Monitore anderer Zuschauer nicht steuern, und deshalb wurde so etwas wie Kalibrierung und Profilerstellung erfunden. Leider ist eine Kalibrierung/Profilierung oft schwer zu erwarten/unmöglich (insbesondere in Bezug auf mobile Geräte). Es scheint, dass man in solchen Fällen bei sRGB (von ICC) bleiben und auf mehr oder weniger wiederholbare Erfahrungen hoffen könnte, aber … naja … das Problem liegt in diesem „mehr oder weniger“. Es reicht aus, die Außenbeleuchtung oder die Hintergrundbeleuchtung zu ändern, und wir sind „außerhalb des Standards“ ;). Glücklicherweise ist das Sehvermögen ziemlich gut darin, uns zu täuschen :).
Umfassende Antwort. Ich denke, es könnte sich lohnen, darauf hinzuweisen, woher das Problem stammt und warum Tricks wie Dithering erforderlich sind: 8-Bit-Farbe gibt Ihnen einfach nicht genügend Schritte, um zuverlässig die Illusion eines sich sanft ändernden Farbverlaufs zu erwecken.

Ja, es ist möglich, qualitativ hochwertige Farbverläufe zu erstellen. Es gibt jedoch viele Faktoren zu berücksichtigen.

  • Photoshop kann und kann nicht auf dem Alphakanal dithern. Verwenden Sie besser Volltonfarben, wenn möglich. Versuchen Sie auch, die Deckkraft der Ebene zu vermeiden. Erstellen Sie den Farbverlauf mit genau den Farben, die Sie benötigen. Bearbeiten: Photoshop CC 2014.2 hat Alphakanal-Dithering hinzugefügt. :)

  • Es können einige kumulative Rundungsfehler auftreten, wenn Ihr Bildbearbeitungsprogramm eine Farbtiefe von 8 Bit pro Kanal verwendet. Die beste Methode zum Generieren eines Verlaufs, der aus mehreren Ebenen erstellt wurde (mit Mischmodi und Deckkraft im Spiel), besteht darin, mit einer höheren Bittiefe zu rendern und dann nach Möglichkeit auf 8 Bit pro Kanal zu dithern. Photoshop kann das. Wenn Sie einen durchgängigen Farbverlauf aus einer Ebene erstellen möchten, sind 8 Bit pro Kanal in Ordnung (16 Bit sind nur praktisch, wenn Ebenenüberblendungen erforderlich sind).

  • Dithering ist wirklich, wirklich wichtig. (Siehe vorherigen Punkt.)

  • Verwenden Sie keinen Illustrator. Es ist 8 Bit pro Kanal und dithert nicht.

  • Die Bildskalierung ruiniert die gute Arbeit, die das Dithering geleistet hat, daher müssen Sie das Bild von Anfang an in der richtigen Größe erstellen.

  • Die meisten Laptops haben 6-Bit-Displays pro Kanal mit einigen animierten Dithering-Tricks, um die Dinge besser erscheinen zu lassen. Offensichtlich kämpfst du gegen das Display und flüssige Ergebnisse sind aufgrund des Displays möglicherweise nicht möglich. Das neue MacBook Pro mit Retina-Display ist eine bemerkenswerte Ausnahme – es hat ein 24-Bit-IPS-Display. Bearbeiten: Laptop-Displays haben sich seit diesem Beitrag etwas verbessert!

  • Wie thebodzio angedeutet hat, kann auch eine andere Verarbeitung auf Betriebssystemebene die Dinge verstümmeln.

  • Wenn Sie den 16-Bit-Modus in Photoshop verwenden, testen Sie ihn mit dem 8-Bit-Modus. Unter bestimmten Umständen sieht der 8-Bit-Modus besser aus und unter anderen Umständen ist der 16-Bit-Modus besser. Grundlegende Faustregel: Wenn Sie einen Farbverlauf haben, verwenden Sie 8 Bit mit Dithering. Wenn Sie mehrere Ebenen und Verläufe mit Deckkraft haben, verwenden Sie den 16-Bit-Modus.


Wenn Sie sich Ihr Bild ansehen, scheint es, als würde eine andere destruktive Konvertierung stattfinden. Verwenden Sie Save For Web? Hast du "In sRGB konvertieren" aktiviert? Wenn ja, schalten Sie es aus (es ist der einfachste Weg, die Qualität Ihrer Bilder zu ruinieren und gleichzeitig destruktive Farbänderungen vorzunehmen).

+1 für deine tolle Antwort, aber seitdem bin ich weitergezogen. Zunächst einmal ist Ihre Option, einen Farbverlauf ohne das Alpha zu erzeugen, nicht gut, da das Bild, das ich brauche, transparent sein sollte, damit ich es auf einer Webseite verwenden kann, die über die gesamte Seite gelegt wird. Auch nach dem Lesen der akzeptierten Antwort habe ich mich entschieden, PS fallen zu lassen und den Farbverlauf programmgesteuert mit CSS Radial Gradient ( colorzilla.com/gradient-editor ) zu erstellen. Leider hat das CSS überhaupt nicht geholfen und der Verlauf ist weiterhin stark gebändert.
Sie können den Alphakanal tatsächlich selbst in Photoshop erstellen, sodass Sie Alpha (manuell) dithern lassen können. CSS ist jedoch eine gute Lösung. Wenn Sie einen Laptop verwenden, beachten Sie, dass Sie möglicherweise Streifen auf Ihrem Bildschirm sehen, andere jedoch möglicherweise einen glatten Farbverlauf sehen. Das Browser-Rendering wird ebenfalls ein Faktor sein.

Marc Edwards schreibt , dass "Photoshop auf dem Alphakanal nicht dithert und nicht dithern kann." Wenn dies der Fall ist, können Sie es möglicherweise vortäuschen, indem Sie einen geditherten Farbverlauf von Weiß nach Schwarz erstellen und das Weiß dann transparent machen. Leider ist es schon eine Weile her, dass ich Photoshop verwendet habe, aber die allgemeine Idee wäre ungefähr so:

  1. Erstellen Sie einen 16-Bit-Verlauf von Schwarz nach Weiß.
  2. Dithern Sie es auf 8-Bit herunter.
  3. Erstellen Sie eine durchgehende schwarze Ebene und fügen Sie ihr eine Ebenenmaske hinzu.
  4. Kopieren Sie den geditherten Verlauf in die Ebenenmaske (und invertieren Sie ihn bei Bedarf).
  5. Wenden Sie die Ebenenmaske an, um einen schön geditherten Farbverlauf von Schwarz nach Transparent zu erhalten.

(Ja, ich weiß, das ist eher ein Kommentar als eine Antwort, aber es wurde zu lang, um in das Kommentarfeld zu passen.)

Ja, Sie können auf jeden Fall einen Schwarz-Weiß-Verlauf auf einem Kanal verwenden, diesen dann als Auswahl laden, dann eine neue Ebene erstellen und dann die Auswahl füllen. Sie erhalten einen Farbverlauf mit gedithertem Alpha. Außerdem werde ich meine Antwort bearbeiten ... Der 16-Bit-Modus ist etwas seltsam. Es ist nicht immer eine bessere Qualität für Farbverläufe.
Thx für die Antwort. Es stellt sich heraus, dass das Farbverlaufsproblem nicht wirklich am PS liegt, denn: 1) Das Bild sieht auf dem iPad3 gut aus. 2) Der CSS-Verlauf sieht auch auf dem Monitor gebändert aus.
CSS-Verläufe werden in den meisten Browsern nicht gedithert. Traurig aber wahr.

Ich habe ein ähnliches Problem in Illustrator gefunden (das nicht einmal eine "Dither" -Option für Farbverläufe hat). Es klingt ein bisschen verrückt, aber ich umgehe es, indem ich einen "Glas" -Filter anwende, der mit den richtigen Parametern das Dithering annähern kann.

Ich benutze:

  • Verzerrung: 2 (abhängig von der Größe Ihrer Bänder).
  • Glätte: 1
  • Textur: Frosted (die lauteste eingebaute Textur)
  • Skalierung: 50 %

In Illustrator führt dies zu weißen Flecken an den Rändern Ihres Objekts, die Sie mit einer Schnittmaske korrigieren können.

Ergebnisse? "Dithered" rechts. Es fügt ein bisschen eine laute Textur hinzu, aber ich denke, dass es die meiste Zeit besser ist als die Bands.

Gebänderter Farbverlauf Zitterte

Ein sehr grundlegender Unterschied beim Erstellen von Farbverläufen ist die Verwendung der Farbverlaufsebene, die über eine integrierte Dither-Option verfügt (Ebene> Neue Füllebene > Farbverlauf) und anpassbar bleibt. Von hier aus könnten Sie in Smart Layer konvertieren und alle Effekte hinzufügen, die Sie zur weiteren Verbesserung benötigen, aber es gibt Ihnen einen viel besseren Ausgangspunkt.

Die Dither-Option für Verlaufsebenen dithert nur die roten, grünen und blauen Kanäle, nicht Alpha (leider).
Das wusste ich nicht. Transparenz kann aber auch per Ebenenmaske erreicht werden. Wie wäre es also, wenn Sie einen Schwarz-Weiß-Verlauf erstellen und ihn als Ebenenmaske verwenden?

Geben Sie hier die Bildbeschreibung ein

Dies sind drei Beispiele, die Dither demonstrieren. Das folgende Set ist das obige Set mit angepassten Pegeln, um die Dithering-Effekte hervorzuheben.

Geben Sie hier die Bildbeschreibung ein

Von links nach rechts ist der erste am deutlichsten gebändert; kein Zittern vorhanden. Der zweite ist der gleiche Gradient mit Dither; viel besser. Und der dritte, der rechte, hat Dithering, und ich habe zusätzlich eine Rauschschicht hinzugefügt, wodurch das Dithering verstärkt wird. Siehe Kommentar, warum Sie das zusätzliche Rauschen hinzufügen würden. Siehe "Zusätzliche Hinweise" zum Dithern von Transparenz/Alphakanal.

Kommentar

Ich habe große Renderings von Farbverläufen mit minimalen Farbvariationen erstellt, und die Streifenbildung war ohne Dithering sehr gut sichtbar, wie im ersten Beispiel. Dann habe ich von Dither erfahren und es hat die Dinge sehr verbessert, das ist das zweite Beispiel. Aber auf einem großen Rendering (hier weniger sichtbar) gab es immer noch Streifenbildung. Ich brauchte aggressiveres Zittern. Also habe ich die Verlaufsebene kopiert*, gerastert und eine winzige Menge (0,1 %) gleichmäßiges monochromes Rauschen hinzugefügt. Das verbesserte das großformatige Bild erheblich. Das ist die dritte Probe. Die Verbesserung durch zusätzliches Rauschen (was Dither im Wesentlichen ist) ist in einem kleinen Maßstab wie in diesem Beispiel hier weniger sichtbar, aber es war sehr wichtig bei einem großen Rendering wie dem, an dem ich arbeitete.

*Ich habe eine separate Ebene für Rauschen erstellt, da ich auf diese Weise das Rauschen mit der Deckkraft der neuen Ebene steuern konnte.

Zusätzliche Bemerkungen

  • Ich habe nur das eigentliche Bild besprochen. Die Hardware- und Treiberseite der Dinge kann ebenfalls einflussreich sein; Auf einem anderen Gerät werden die Dinge möglicherweise anders angezeigt. Andere Antworten haben das ziemlich gut abgedeckt.

  • Photoshop dithert den Alphakanal nicht. Wenn Sie Dithering auf Transparenz benötigen, müssen Sie den Alphakanal manuell dithern. Ich würde eine Maskenebene verwenden, um Transparenz zu erzeugen, also müsste diese Maskenebene nur gedithert werden. Und wenn Sie mit Ebenenmasken arbeiten, vergessen Sie nicht, ALT+ left clickauf die Ebenenmaske zu setzen, um sie anzuzeigen.

Sehr nützlicher Artikel zum Thema: http://nomorebanding.com/cache

Hier ist die Essenz:

Die Idee ist, einen Farbverlauf im 16-Bit-Modus zu erstellen und ihn dann in den 8-Bit-Modus zu konvertieren, indem Sie dem Verfahren für manuelles Dithering folgen (unter Verwendung einer benutzerdefinierten Dithering-Ebene). Hier ist das Verfahren:

1. Deaktivieren Sie das Standard-Dithering (Bearbeiten > Farbeinstellungen deaktivieren Sie Dithering verwenden), da wir unsere eigene Dithering-„Engine“ erstellen werden.

2. Erstellen Sie eine neue Ebene (sollte ganz oben sein).

3. Füllen Sie es mit 50 % Grau.

4. Filter > Rauschen > Rauschen hinzufügen. (Anteil 25%, Verteilungsgleichmäßig, Einfarbig-geprüft)

  1. Drücken Sie Strg+F, um den Rauschfilter auf derselben Ebene zu wiederholen.

6.Setzen Sie die Ebene auf Lineares Licht.

7. Stellen Sie in der Palette Ebenen die Deckkraft auf 1 % und die Deckkraft der Füllung auf 19 % ein.

Wichtig: Sie müssen das Bild (einschließlich der Rauschschicht) im 16-Bit-Modus glätten und erst dann für den Export in den 8-Bit-Modus konvertieren. Wenn Sie es umgekehrt machen, verlieren Sie zuerst alle 16-Bit-Informationen, und dann macht die Rauschschicht in 8 Bit genau nichts. Beachten Sie auch die Photoshop-Einstellung Dither verwenden. Sie können entweder die Ebene oder die native Dithering-Methode verwenden, aber verwenden Sie nicht beide während der Konvertierung, da dies zu doppelt so viel Rauschen führt, wie Sie benötigen.