Pixel verschieben sich nach dem Anwenden von „Transformieren“ in Photoshop

Vor der Transformation:

Vor

Während der Transformation:

Geben Sie hier die Bildbeschreibung ein

Nach Transformation:

Geben Sie hier die Bildbeschreibung ein

Wie die obigen Bilder zeigen, befinden sich die Pixel im Endergebnis beim Versuch, eine Ebene mit dem Transformationswerkzeug zu drehen, an anderen Positionen als in der Vorschau. Dies geschieht auch bei anderen Transformationsaktionen, aber das Drehen ist am offensichtlichsten.

Gibt es eine Einstellung, die das verhindert? Sollte ich ein anderes Tool verwenden, um die Transformationen anzuwenden?

Ich mache Sprites für ein Spiel, das in der Engine hochskaliert wird, also versuche ich, das Endergebnis genau wie die Transformationsvorschau ohne zusätzliches Anti-Aliasing zu erhalten.


  • Problem: Pixel verschieben ihre Position zwischen dem Festlegen einer Transformation und dem Anwenden. Das Endergebnis unterscheidet sich drastisch von der Vorschau.
  • Globale Bildinterpolation: Nächster Nachbar (harte Kanten beibehalten)
  • Transform Image Interpolation: Nächster Nachbar
  • Snap off?: Ein/Aus, gleiche Ergebnisse.
  • Grid off?: An/aus, gleiche Ergebnisse.
  • Welche Transformation?: Freie Transformation, Strg+T.
  • Ebene als Smart-Objekt: Das Ausführen der Transformation auf einem Smart-Objekt zeigt das Ergebnis in Bild 3 während der Transformation, nicht erst nach dem Anwenden. Ich vermute, beim Anwenden von Transformationen auf gerasterte Ebenen führt Photoshop die gleiche Funktionalität aus, die zum Transformieren von intelligenten Objekten verwendet wird.

Antworten (4)

Ich habe ein paar verschiedene Tricks ausprobiert und war nicht in der Lage, die Dinge nur mit dem Transformationswerkzeug ideal aussehen zu lassen.


Methode 1: Screenshot

Ich denke, die einfachste Methode, um die Transformationsvorschau beizubehalten, besteht darin, die Leinwandüberlagerung für die Transformationsgriffe mit View→ zu deaktivieren Extrasund einen Screenshot mit 100% Zoom zu machen.

Geben Sie hier die Bildbeschreibung ein

Von dort aus müssen Sie wieder Transparenz schaffen. Vielleicht ist es eine gute Lösung, das Bildmaterial auf einem einfarbigen Hintergrund zu platzieren – einer Farbe, die Sie sonst nirgendwo verwenden. Auf diese Weise können Sie automatisch eine Auswahl treffen, die es perfekt entfernt.

Sie müssen auch sicherstellen, dass Ihr Farbprofil aktiviert Do Not Color Manage This Documentund Proof Colorsdeaktiviert ist.


Methode 2: Arbeiten Sie mit einer Skalierung von 400 %

Die Skalierung des Dokuments um genau 400 % mit "nächster Nachbar", dann die Transformation mit "nächster Nachbar" und die anschließende Verkleinerung des Dokuments auf 25 % mit "nächster Nachbar" liefert wieder großartige Ergebnisse. Sie stimmen nicht mit der Transformationsvorschau überein, aber es sieht gut aus.

Geben Sie hier die Bildbeschreibung ein

Dies funktioniert offensichtlich bei vielen Skalierungsfaktoren, aber mit genauen Vielfachen ist es einfacher zu arbeiten, daher würde ich 400 %, 800 %, 1600 % usw. empfehlen.


Verwandte Probleme mit 90º-Drehung

Es gibt Fälle, in denen ungerade × ungerade und gerade × gerade Abmessungen für Grafiken andere Ergebnisse liefern als ungerade × gerade und gerade × ungerade, da der Ursprung auf dem Pixel zentriert und nicht an der Pixelgrenze ausgerichtet ist (es ist nur ein Problem, wenn jede Achse ' Zentrierung ist anders). Und in diesem Fall kann das auch einen Unterschied machen, aber das ist nicht das Hauptproblem. Es ist eher ein Problem bei einer Drehung um 90º.

Die Lösung besteht darin, der Ebene etwas hinzuzufügen, sodass die Abmessungen ungerade × ungerade oder gerade × gerade werden. Ein einzelnes Pixel wird es tun.

Dieses Problem tritt möglicherweise auch beim Drehen von Pixelbildern auf. Der Vollständigkeit halber habe ich es hier erwähnt.

Was ich tun würde, ist, die Grafik in einem größeren Maßstab zu erstellen, beispielsweise 10: 1, und dann eine Skalierung, die Sie für Sprites benötigen. Probieren Sie dies aus, zeichnen Sie ein Rechteck von 1000 x 500 Pixel und drehen Sie es um 45 Grad, drücken Sie die Eingabetaste und transformieren Sie es dann in einen kleineren Maßstab mit einer Breite von vielleicht 45 Pixel. Viel Glück.

Was Sie suchen, scheint im Wesentlichen kein Anti-Aliasing zu sein. Ich glaube nicht, dass Sie Anti-Aliasing in Photoshop deaktivieren können. (Photoshop führt beim Transformieren kein Anti-Aliasing durch.)

Alle Interpolationsmethoden basieren auf „Best Guess“. Even Nearest Neighborverwendet Anti-Aliasing, um die "beste Schätzung" für neue Pixel zu bestimmen. Um sie weiter zu besprechen, müssen Sie direkt mit Adobe sprechen. Nur sie kennen die verwendeten Algorithmen und die Möglichkeit, sie zu ändern.

Wenn Sie wirklich nur harte Pixel mit präziser Platzierungskontrolle benötigen, ist es möglicherweise besser, die Grafik in einer Vektoranwendung zu erstellen, in der Sie Anti-Aliasing deaktivieren und alles als Pixel mit harten Kanten speichern können .

Oder in Photoshop transformieren und dann aufräumen. Wie Sie festgestellt haben.

Meine Empfehlung ist, dass Sie einen anderen Interpolationstyp verwenden oder intelligente Objekte verwenden. Wenn Sie glattere Pixel sehen möchten, verwenden Sie die bikubische Interpolation glatter. Ich hoffe Dir zu helfen.

Vielen Dank für Ihre Antwort, aber das Problem bei der Verwendung verschiedener Interpolationsmethoden besteht darin, dass dies zu Anti-Aliasing führt, das ich zu vermeiden versuche. Ich versuche hauptsächlich, einen Weg zu finden, Photoshop daran zu hindern, zwischen der Vorschauphase und dem Endergebnis irgendetwas zu tun. Ich habe die Frage bearbeitet, entschuldigen Sie die Zeitverschwendung.