मेरे पास फ़ोटोशॉप में एक पाठ परत में एक शब्द है। मैं चाहता हूं कि प्रत्येक चरित्र एक अलग परत पर हो, मैं ऐसा कैसे कर सकता हूं?
मेरे पास फ़ोटोशॉप में एक पाठ परत में एक शब्द है। मैं चाहता हूं कि प्रत्येक चरित्र एक अलग परत पर हो, मैं ऐसा कैसे कर सकता हूं?
जवाबों:
जब तक आप "एंटीडिसिस्टेब्लिशमेंटरिज़्म" नहीं तोड़ रहे हैं, यह जाने का तेज़ तरीका है।
यह स्क्रिप्टिंग क्षमताओं के साथ किया जा सकता है।
संपादित करें : मैंने कोशिश की और परीक्षण किया नीचे अपना जवाब अद्यतन किया है।
स्प्लिटटेक्स्ट.जेएसएक्स की सामग्री
// 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;
तो कृपया आप गधे के बारे में पाठ परतों को स्थानांतरित करें
अपनी स्क्रिप्ट के लिए एडम एल्सोडेनी का बहुत-बहुत धन्यवाद, यह आश्चर्यजनक है - हालाँकि यदि आप मेरे जैसे हैं और चाहते थे कि स्क्रिप्ट अलग-अलग शब्दों को फाड़ दे और न कि पात्रों को आपको संशोधित करना होगा।
यहाँ अलग शब्दों को तोड़ने के लिए एक ही स्क्रिप्ट है:
// 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;
और स्पष्ट करने के लिए (जैसा कि मुझे नहीं पता था, इसे गूगल करना था)
.jsx
)textlayer
और वह फाइल फोटोशॉप में खुली है।संपादित करें: कुछ अनुनाद के लिए डबल क्लिक करना हमेशा काम नहीं करता है, और यदि यह नहीं होता है, तो फ़ोटोशॉप में फ़ाइल> लिपियों> ब्राउज़ करें पर जाएं और फ़ाइल को डबल क्लिक करें। यह चलने लगेगा।
var theOriginalTextLayer = thisDocument.artLayers.getByName("textlayer");
करने के लिए var theOriginalTextLayer = thisDocument.activeLayer;
स्क्रिप्ट एक चयनित पाठ परत पर काम करेंगे: करने के लिए इसका नाम बदलना करने की कोई जरूरतtextlayer
मैं सिर्फ अपना पैसा दूंगा। आपने निर्दिष्ट नहीं किया है कि क्या आपको अपनी नई परतों को संपादन योग्य पाठ या बस rasterized परतों की आवश्यकता है, बाद वाले मामले में:
फिर से, यह तभी करें जब आप rasterized लेयर्स के साथ ठीक हों। यदि आपको पाठ परतों की आवश्यकता है तो लॉरेन इप्सम उत्तर के साथ जाएं क्योंकि यह संभवतः सबसे तेज़ तरीका है।