Photoshop에서 텍스트를 어떻게 분리합니까?


9

포토샵의 텍스트 레이어에 단어가 있습니다. 각 캐릭터가 별도의 레이어에있게하려면 어떻게해야합니까?


나는 똑같은 문제가 있지만 단어로 나누어야하는 문장 텍스트 레이어입니다. 너무 많은 텍스트 레이어가 분리되기 때문에 바로 가기가 필요합니다. 하나씩 수행하는 데 시간이 걸립니다.
jjbly 2019

답변:


7
  1. 문자 도구를 선택하십시오.
  2. 편지를 입력하십시오.
  3. 레이어를 복제하십시오.
  4. 새 레이어를 선택하십시오.
  5. 복사 된 문자를 강조 표시하고 두 번째 문자를 입력하십시오.
  6. 필요에 따라 반복하십시오.

"반 파장주의주의"를 깨뜨리지 않는 한, 이것이 가장 빠른 방법입니다.


9

이것은 스크립팅 기능으로 수행 할 수 있습니다.

편집 : 시도하고 테스트 한 결과 내 답변을 업데이트했습니다.

  • 모든 텍스트 편집기를 엽니 다
  • 다음 코드를 복사하여 붙여 넣기
  • 텍스트 레이어의 이름이 20 행에 정의 된 이름과 일치하는지 확인하십시오
  • splitText.jsx로 저장
  • Photoshop으로 엽니 다. 또한 적용하려는 문서가 현재 활성화 된 문서인지 확인하십시오.

splitText.jsx의 내용

// enable double clicking from the Macintosh Finder or the Windows Explorer
#target photoshop

// in case we double clicked the file
app.bringToFront();

// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
// $.level = 0;
// debugger; // launch debugger on next line

var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;

app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.POINTS;

var thisDocument = app.activeDocument;

// USE THIS LINE TO GRAB TEXT FROM EXISTING LAYER
var theOriginalTextLayer = thisDocument.artLayers.getByName("NAME-OF-LAYER");
var theTextToSplit = theOriginalTextLayer.textItem.contents;

// OR USE THIS LINE TO DEFINE YOUR OWN
// var theTextToSplit = "Hello";

// suppress all dialogs
app.displayDialogs = DialogModes.NO;

//  the color of the text as a numerical rgb value
var textColor = new SolidColor;
textColor.rgb.red = 0;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;

var fontSize = 120;         // font size in points
var textBaseline = 480;     // the vertical distance in pixels between the top-left corner of the document and the bottom-left corner of the text-box

for(a=0; a<theTextToSplit.length; a++){ 
// this loop will go through each character

    var newTextLayer = thisDocument.artLayers.add();        // create new photoshop layer
        newTextLayer.kind = LayerKind.TEXT;             // set the layer kind to be text
    //  newTextLayer.name = textInLayer.charAt(a);

    var theTextBox = newTextLayer.textItem;             // edit the text
        theTextBox.font = "Arial";                      // set font
        theTextBox.contents = theTextToSplit.charAt(a); // Put each character in the text
        theTextBox.size = fontSize;                           // set font size
    var textPosition = a*(fontSize*0.7);

        theTextBox.position = Array(textPosition, textBaseline);                // apply the bottom-left corner position for each character
        theTextBox.color = textColor;

};

/* Reset */

app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;

그런 다음 원하는 엉덩이에 대한 텍스트 레이어를 이동하십시오.


2
추신. Lauren Ipsum의 답변이 더 낫습니다. : D
Adam

1
나는 이것을하는 방법을 찾고있었습니다. 이 스크립트를 조합 해 주셔서 감사합니다. 컴퓨터 근처에있을 때 테스트하고 다시 연락 드리겠습니다. +1!
Moshe

1
@ 아담 : 감사합니다. 모든 스크립팅 노력을 통해 +1을드립니다. :)
Lauren-Clear-Monica-Ipsum

2
나는 자바 스크립트 사용 포토샵 스크립팅 할 수 몰랐어요
호 레이시오

@Moshe @Lauren Ipsum 감사합니다. 더 발전시킬 수 있을지 살펴보고 온라인으로 튜토리얼을 게시
하겠습니다

2

대단한 아담 엘소 다니 (Adam Elsodaney) 감사합니다. 대단합니다. 그러나 만약 당신이 나처럼 스크립트가 문자가 아닌 단어를 찢어 내고 싶다면 스크립트를 수정해야합니다.

다음은 단어를 구분하는 동일한 스크립트입니다.

// enable double clicking from the Macintosh Finder or the Windows Explorer
#target photoshop

// in case we double clicked the file
app.bringToFront();

// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
// $.level = 0;
// debugger; // launch debugger on next line

var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;

app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.POINTS;

var thisDocument = app.activeDocument;

// USE THIS LINE TO GRAB TEXT FROM EXISTING LAYER
var theOriginalTextLayer = thisDocument.activeLayer;
var theTextToSplit = theOriginalTextLayer.textItem.contents;

// OR USE THIS LINE TO DEFINE YOUR OWN
// var theTextToSplit = "Hello";

// suppress all dialogs
app.displayDialogs = DialogModes.NO;

//  the color of the text as a numerical rgb value
var textColor = new SolidColor;
textColor.rgb.red = 0;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;

var fontSize = 120;         // font size in points
var textBaseline = 480;     // the vertical distance in pixels between the top-left corner of the document and the bottom-left corner of the text-box


var words = theTextToSplit.split(" ");

for(a=0; a < words.length; a++){ 
// this loop will go through each character

    var newTextLayer = thisDocument.artLayers.add();    // create new photoshop layer
        newTextLayer.kind = LayerKind.TEXT;             // set the layer kind to be text

    var theTextBox = newTextLayer.textItem;             // edit the text
        theTextBox.font = "Arial";                      // set font
        theTextBox.contents = words[a];                 // Put each character in the text
        theTextBox.size = fontSize;                     // set font size
    var textPosition = a*(fontSize*0.7);

        theTextBox.position = Array(textPosition, textBaseline);    // apply the bottom-left corner position for each character
        theTextBox.color = textColor;

};

/* Reset */

app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;

그리고 명확히하기 위해 (알지 못 했으므로 Google에 가져와야 함)

  1. 이것을 텍스트 파일에 저장하십시오 (확장자가있는 데스크탑에 .jsx)
  2. Photoshop에 텍스트 레이어가 있고 textlayer해당 파일이 Photoshop에서 열려 있는지 확인하십시오 .
  3. 파일을 두 번 클릭하십시오.
  4. 이익.

편집 : 일부 reson의 경우 더블 클릭이 항상 작동하지 않으며, 그렇지 않은 경우 photoshp에서 파일> 스크립트> 찾아보기로 이동하여 파일을 두 번 클릭하십시오. 실행을 시작합니다.


1
참고로, 당신은 변경하는 경우 var theOriginalTextLayer = thisDocument.artLayers.getByName("textlayer");var theOriginalTextLayer = thisDocument.activeLayer;선택된 텍스트 레이어에서 작동 스크립트 :에 이름을 바꿀 필요가 없습니다textlayer
세르게이 Kritskiy

-1

난 그냥 내 페니를 줄 것이다. 편집 가능한 텍스트로 새 레이어가 필요한지 아니면 래스터 화 된 레이어인지를 지정하지 않았습니다. 후자의 경우 다음을 수행 할 수 있습니다.

  1. 레이어 래스터 화
  2. 첫 번째 레이어 주위를 선택하십시오
  3. CTRL + SHIFT + J (또는 CMD + SHIFT + J)를 눌러 선택을 새 레이어로 자릅니다.
  4. 각 문자에 대해 2 단계와 3 단계를 반복하십시오.

래스터 화 된 레이어가있는 경우에만이 작업을 수행하십시오. 텍스트 레이어가 필요한 경우 Lauren Ipsum 답변이 더 빠를 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.