मैं फ़ोटोशॉप में अलग-अलग पाठ कैसे तोड़ूं?


9

मेरे पास फ़ोटोशॉप में एक पाठ परत में एक शब्द है। मैं चाहता हूं कि प्रत्येक चरित्र एक अलग परत पर हो, मैं ऐसा कैसे कर सकता हूं?


मेरे पास एक ही मुद्दा है लेकिन यह एक वाक्य पाठ परत के लिए है जिसे मुझे शब्दों में तोड़ने की आवश्यकता है। मुझे एक शॉर्टकट की आवश्यकता है क्योंकि इसकी बहुत सी पाठ परतों को अलग करने के लिए। और इसे एक-एक करके करने में समय लगेगा।
jjbly

जवाबों:


7
  1. टाइप टूल का चयन करें।
  2. अपना पत्र लिखें।
  3. परत को डुप्लिकेट करें।
  4. नई परत का चयन करें।
  5. कॉपी किए गए अक्षर को हाइलाइट करें और दूसरा अक्षर टाइप करें।
  6. आवश्यकतानुसार दोहराएं।

जब तक आप "एंटीडिसिस्टेब्लिशमेंटरिज़्म" नहीं तोड़ रहे हैं, यह जाने का तेज़ तरीका है।


9

यह स्क्रिप्टिंग क्षमताओं के साथ किया जा सकता है।

संपादित करें : मैंने कोशिश की और परीक्षण किया नीचे अपना जवाब अद्यतन किया है।

  • किसी भी टेक्स्ट एडिटर को खोलें
  • इसमें निम्न कोड को कॉपी और पेस्ट करें
  • यह सुनिश्चित करें कि टेक्स्ट लेयर का नाम रेखा 20 में परिभाषित की गई चीज़ों से मेल खाता है
  • विभाजन के रूप में सहेजें
  • फोटोशॉप से ​​खोलें। यह भी सुनिश्चित करें कि जिस दस्तावेज़ को आप इसे लागू करना चाहते हैं, वह वर्तमान में सक्रिय दस्तावेज़ है।

स्प्लिटटेक्स्ट.जेएसएक्स की सामग्री

// 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
ps। लॉरेन इप्सम का उत्तर बेहतर / आसान है: डी
एडम एलसोडेनी

1
मैं यह करने के लिए देख रहा था कि यह कैसे करना है। इस स्क्रिप्ट को एक साथ रखने के लिए यश। जब मैं एक कंप्यूटर के पास होता हूं और आपके पास वापस आ जाता हूं, तो मैं इसका परीक्षण करूंगा। +1!
मोशे

1
@ एडम: धन्यवाद। मैं आपको स्क्रिप्टिंग के सभी प्रयासों से गुजरने के लिए सिर्फ +1 दे रहा हूं। :)
लॉरेन-क्लियर-मोनिका-इप्सम

2
मुझे नहीं पता था कि फ़ोटोशॉप को जावास्क्रिप्ट का उपयोग करके स्क्रिप्ट किया जा सकता है
20:38 पर

@Moshe @ लॉरेन इप्सम धन्यवाद, मैं यह देखने जा रहा हूं कि क्या मैं इसे और विकसित कर सकता हूं, तो एक ट्यूटोरियल ऑनलाइन पोस्ट करें
एडम एलसोडेनी

2

अपनी स्क्रिप्ट के लिए एडम एल्सोडेनी का बहुत-बहुत धन्यवाद, यह आश्चर्यजनक है - हालाँकि यदि आप मेरे जैसे हैं और चाहते थे कि स्क्रिप्ट अलग-अलग शब्दों को फाड़ दे और न कि पात्रों को आपको संशोधित करना होगा।

यहाँ अलग शब्दों को तोड़ने के लिए एक ही स्क्रिप्ट है:

// 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;

और स्पष्ट करने के लिए (जैसा कि मुझे नहीं पता था, इसे गूगल करना था)

  1. इसे एक टेक्स्ट फ़ाइल में सहेजें (एक्सटेंशन के साथ आपके डेस्कटॉप पर Ie .jsx)
  2. सुनिश्चित करें कि आपके फोटोशॉप में टेक्स्ट लेयर है जिसका नाम है textlayerऔर वह फाइल फोटोशॉप में खुली है।
  3. फ़ाइल पर डबल क्लिक करें।
  4. फायदा।

संपादित करें: कुछ अनुनाद के लिए डबल क्लिक करना हमेशा काम नहीं करता है, और यदि यह नहीं होता है, तो फ़ोटोशॉप में फ़ाइल> लिपियों> ब्राउज़ करें पर जाएं और फ़ाइल को डबल क्लिक करें। यह चलने लगेगा।


1
FYI करें, आप बदलते हैं var theOriginalTextLayer = thisDocument.artLayers.getByName("textlayer");करने के लिए var theOriginalTextLayer = thisDocument.activeLayer;स्क्रिप्ट एक चयनित पाठ परत पर काम करेंगे: करने के लिए इसका नाम बदलना करने की कोई जरूरतtextlayer
सेर्गेई Kritskiy

-1

मैं सिर्फ अपना पैसा दूंगा। आपने निर्दिष्ट नहीं किया है कि क्या आपको अपनी नई परतों को संपादन योग्य पाठ या बस rasterized परतों की आवश्यकता है, बाद वाले मामले में:

  1. अपनी परत को बड़ा करें
  2. अपनी पहली परत के आसपास चयन करें
  3. CTRL + SHIFT + J (या CMD + SHIFT + J) को एक नई लेयर में सेलेक्ट करने के लिए हिट करें
  4. प्रत्येक अक्षर के लिए चरण 2 और 3 दोहराएं

फिर से, यह तभी करें जब आप rasterized लेयर्स के साथ ठीक हों। यदि आपको पाठ परतों की आवश्यकता है तो लॉरेन इप्सम उत्तर के साथ जाएं क्योंकि यह संभवतः सबसे तेज़ तरीका है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.