Jak utworzyć zadanie wsadowe, numerując obrazy (pisząc na nich tekst) od 1 do 100 w Photoshopie?

25

Chciałbym stworzyć 100 zdjęć, na których zapisane byłyby ich odpowiednie liczby.

Ponieważ najprawdopodobniej będę wprowadzać zmiany w szablonie w przyszłości, pomyślałem, że lepiej byłoby go jakoś zautomatyzować.

Czy istnieje proste rozwiązanie tego problemu?

Duży ptak
źródło

Odpowiedzi:

23

To zależy od tego, jak zdefiniujesz „prosty”. Photoshop ma wbudowaną funkcję zmiennych danych, ale nie jest zbyt dobrze udokumentowany i jest uważany za nieodpowiedni temat do grzecznej rozmowy, na przykład na przyjęciach koktajlowych lub w kościele. Z drugiej strony minęły lata, odkąd sam tego używałem, więc zbudowanie tego samouczka było dobrym odświeżeniem.

Będziesz potrzebował pliku rozdzielanego przecinkami lub tabulatorami z nazwą dla każdej zmiennej (użyję „Image” i „ImageNumber”). Oto ten, z którego wyśmiewałem to ćwiczenie. Pamiętaj, że nazwy plików obrazów nie mają ścieżki tylko dlatego, że znajdują się w tym samym folderze co plik danych. Możesz użyć względnych lub bezwzględnych ścieżek dla nazw plików:

plik danych

Musisz skonfigurować szablon. Załóżmy, że potrzebujesz dwóch warstw: obrazu (zmiennej) i liczby (warstwy tekstowej, zmiennej). Warstwa obrazu musi być faktyczną warstwą, a nie tłem.

baza szablonów photoshop warstwy

Po ich skonfigurowaniu wybierz warstwę obrazu, a pod nią Image > Variables > Definepojawi się to okno dialogowe ( zaznaczyłem pole wyboru „Zastąpienie pikseli”, ponieważ tego właśnie musimy użyć):

zdefiniuj zmienną obrazu

Zmień pole „Nazwa” na wybraną nazwę zmiennej („Obraz”) i ustaw „Metoda” na to, czego potrzebujesz. Wybieram „Wypełnij”, która proporcjonalnie zmieni rozmiar obrazu, ale możesz preferować coś innego. Informacje o każdej metodzie są wyświetlane w polu Opis po najechaniu kursorem na nazwę. Zamknij okno dialogowe.

Wybieramy warstwę tekstową i powtarzamy proces, nazywając zmienną tekstową „ImageNumber”.

zdefiniuj zmienną tekstową

Teraz musimy zdefiniować zestaw danych, więc kliknij przycisk „Dalej” w oknie dialogowym i kliknij ikonę Nowy zestaw danych (tuż obok kosza) w oknie dialogowym.

Okno dialogowe Zestaw danych

Zestaw danych to zbiór wartości, które dotyczą konkretnego dokumentu wyjściowego, a nie pełny zestaw wartości w pliku rozdzielanym przecinkami, dlatego teraz definiujemy obraz początkowy dla naszego szablonu, klikając „Wybierz plik ...” za pomocą wybrana zmienna obrazu. Wybrałem obraz chryzantemy. Upewnij się, że „Nie zastępuj” NIE jest zaznaczone.

wybrana wartość obrazu

Teraz musimy zaimportować zestawy danych z pliku rozdzielanego przecinkami za pomocą okna dialogowego „Importuj”.

okno dialogowe importu

Wyczerpany? -- Jest więcej. Kliknij przycisk OK, aby zamknąć okno dialogowe Zmienne.

Ostatnim krokiem jest wybranie File > Export > Data Sets as Files...i zapisanie danych wyjściowych wraz z konwencją nazewnictwa.

okno dialogowe eksportu

Po kliknięciu OK cały zestaw plików psd zostanie wyeksportowany do wybranej lokalizacji.

Alan Gilbertson
źródło
Doszedłem do tego do porządku, ale utknąłem. Kiedy przychodzę eksportować moje pliki, muszę mieć każdy z nich powiązany z wartością jednej ze zmiennych. Wydaje się, że pozwala mi to na użycie ograniczonej opcji z kolejnym numerem, co nie jest dobre do tego, co muszę zrobić. Wszelkie porady będą mile widziane przy użyciu CS5 lub innych.
Fantastyczny! Zaoszczędziłeś mi godziny pracy, dziękuję, Alan.
MorganR,
6

Tak, możliwe jest zautomatyzowanie. Otwórz zestaw narzędzi Rozszerz skrypt. pisać

#target Photoshop
alert("Hello "+app.activeDocument.name+"!")

Zapisz skrypt i uruchom go. Powinien teraz wyświetlić okno ostrzeżenia, pod warunkiem, że PS jest otwarty i ma dokument. To po prostu javascript, możesz znaleźć instrukcję obsługi:

Oto, w jaki sposób zmieniasz tekst w warstwie tekstowej i zapisujesz go (dodając bit zapisu, ponieważ jest nieco trudny):

#target Photoshop

var textlayer = app.activeDocument.layers.getByName('Text');
textlayer.textItem.contents = 'foo';

var exportOptionsSaveForWeb = new ExportOptionsSaveForWeb();
exportOptionsSaveForWeb.format = SaveDocumentType.PNG;

var saveFile = new File("file:///c:/temp/test.png");
app.activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, exportOptionsSaveForWeb);

Aby nie wykonać dla ciebie całej pracy, nadal musisz umieścić pętlę for wokół opublikowanego kodu.

joojaa
źródło
Skopiuj i wklej to do istniejącego pytania
Ryan
4

Jest to rozwiązanie problemu opisanego w Automatyzacji tworzenia obrazu z dodaniem liczby, która zwiększa się z każdą iteracją

Tak, jest trochę podobny, ale zamiast obecnego pytania, które jest many -> manymoje, ma one -> manyi ma nieco inne i szybsze rozwiązanie.

Oto jest:

  1. Otworzyłem obraz, dodałem Typewarstwę ze wszystkimi stylami, jakie chciałem.
  2. Potem poszedłem do

    Image > Variables > Define
  3. Ustaw Layer:nazwę mojej warstwy tekstowej, ustaw pole wyboru Text Replacementi podaj Text Replacementzmienną część Name:(nazwałem ją number). I nacisnąłem OK .

  4. Otworzyłem edytor arkuszy kalkulacyjnych, takich jak Excel, Numbers, Dokumenty Google itp. I wprowadziłem następne elementy w pierwszej kolumnie:

    1. W pierwszym rzędzie napisałem nazwę mojej zmiennej (dla mnie - number).
    2. W poniższym (drugim rzędzie) wpisałem 1. Czasami, aby krok 3 zadziałał, musisz wprowadzić 2w 3. rzędzie.
    3. Teraz, korzystając ze standardowego autouzupełniania arkusza kalkulacyjnego, chwyć prawy dolny róg komórki z 1 (lub 2) i przeciągnij w dół. W ten sposób wszystkie poniższe komórki powinny być wypełnione kolejnymi numerami (wygenerowałem sekwencję do 99).
    4. Ok, wszystko, co musisz teraz zrobić, to wyeksportować arkusz kalkulacyjny CSV.
  5. Teraz powinieneś iść do

      Image > Variables > Data Sets

    wybierz Import…Przeglądaj swój CSVplik i kliknij OK . Możesz także sprawdzić Previewprzycisk, aby zobaczyć, jak będzie wyglądać Twój obraz z określonym zestawem danych (liczbą). Jeszcze raz kliknij OK, aby zapisać zestawy danych.

  6. Wreszcie, aby uzyskać wszystkie pliki z różnymi rzeczami, przejdź do

    File > Export > Data Sets as Files

    Wybierz folder docelowy i upewnij się, że masz All Data Setswybraną opcję, ponieważ spowoduje to wygenerowanie pliku dla każdego z zestawów danych, dokładnie tego, czego potrzebujemy. W tym samym oknie możesz również wybrać opcję nazewnictwa dla eksportowanych plików. I kliknij OK :)

  7. To wygeneruje psdpliki, więc musisz je jakoś przekonwertować na coś prostszego. Można to osiągnąć za pomocą

    File > Scripts > Image Processor

    Ten skrypt pozwoli Ci przekonwertować wiele psdobrazów za JPEGpomocą jednego kliknięcia przycisku.

Być może zainteresuje Cię kolejny samouczek na temat zmiennych Photoshop: http://layersmagazine.com/photoshop-variables.html

Uko
źródło
Dziękujemy za tę część: „Ten skrypt pozwoli Ci przekonwertować wiele obrazów psd na JPEG za pomocą jednego kliknięcia przycisku”. graphicdesign.stackexchange.com/a/4874/45239 plus twoje zdanie było wielką pomocą.
Ryan