มีวิธีคัดลอกเลเยอร์จากเอกสาร Photoshop หนึ่งไปยังอีกเอกสารหนึ่งหรือไม่?
ก่อนหน้านี้ฉันกำลังทำงานเกี่ยวกับโครงการที่ต้องการสิ่งนี้ แต่ฉันไม่รู้ว่าจะทำอย่างไรได้
(ขั้นตอนไม่ง่ายเหมือน Illustrator โดยที่Ctrl | Cmd+ CและCtrl | Cmd+ Vจะทำงานได้ง่าย)
มีวิธีคัดลอกเลเยอร์จากเอกสาร Photoshop หนึ่งไปยังอีกเอกสารหนึ่งหรือไม่?
ก่อนหน้านี้ฉันกำลังทำงานเกี่ยวกับโครงการที่ต้องการสิ่งนี้ แต่ฉันไม่รู้ว่าจะทำอย่างไรได้
(ขั้นตอนไม่ง่ายเหมือน Illustrator โดยที่Ctrl | Cmd+ CและCtrl | Cmd+ Vจะทำงานได้ง่าย)
คำตอบ:
คุณสามารถลากเลเยอร์จากLayers panel
และวางลงบนเอกสารใหม่ ซึ่งอาจยุ่งยากหากมุมมองของคุณถูกตั้งค่าจนเอกสารทั้งสองไม่ได้เคียงข้างกัน (ที่ด้านล่างคือคำอธิบายวิธีการทำเช่นนี้ด้วยแท็บ)
อีกวิธีหนึ่งในการถ่ายโอนเลเยอร์ระหว่างเอกสารที่เปิดอยู่คือการใช้Duplicate Layer
ฟังก์ชั่น เมื่อคุณคลิกขวาที่เลเยอร์Layers panel
คุณสามารถเลือกDuplicate Layer...
จากเมนู กล่องโต้ตอบแล้วขอให้คุณซึ่งเอกสารที่จะใช้เป็นDuplicate Layer
Destination
ในมุมมองแบบแท็บ : เลือกเลเยอร์ที่ต้องการในพาเนลเลเยอร์คว้าMove tool
( V) คลิกและกดค้างไว้ในหน้าต่างเอกสาร (ไม่ใช่Layers panel
เพียงบนภาพ) ลากเคอร์เซอร์ของคุณไปยังชื่อแท็บที่ต้องการและรอจนกระทั่งมุมมองเอกสารเปลี่ยนไป (ยังไม่ปล่อยปุ่มซ้ายของเมาส์) เลื่อนเคอร์เซอร์เมาส์ไปที่หน้าต่างเอกสารและปล่อยปุ่มซ้ายของเมาส์ (กดค้างไว้Shiftเพื่อวางเลเยอร์ที่กึ่งกลางของเอกสาร)
ฉันทำเส้นทางที่ซ้ำกันเสมอ:
คุณเลือกเลเยอร์แล้วเลือก
Layer
→ Duplicate...
Duplicate...
ในปุ่มตัวเลือกของจานสีชั้นในกล่องโต้ตอบเลือกปลายทางที่คุณต้องการคัดลอกไป นี่คือข้อดีที่เพิ่มขึ้นซึ่งคุณสามารถเลือกที่จะทำสำเนาลงในเอกสารใหม่ซึ่งจะสร้างรูปภาพใหม่โดยอัตโนมัติด้วยเลเยอร์ที่คุณคัดลอก
ธุรกิจการลากทั้งหมดไม่ใช่สิ่งที่ฉัน ฉันมักจะกลัวว่ามันจะจัดการอย่างไม่ถูกต้องหรืออย่างน้อยก็แปลก
วิธีที่ง่ายที่สุดคือเลือกเลเยอร์ที่คุณต้องการคัดลอกแล้วลากและวางลงในเอกสารใหม่
คล้ายกับคำตอบ jhockings แต่เร็วกว่าเล็กน้อย: คุณสามารถคลิกขวาบนเลเยอร์ที่คุณต้องการคัดลอกและเลือก "layer ที่ซ้ำกัน" จากนั้นคุณจะได้รับกล่องโต้ตอบและคุณสามารถเลือกปลายทางของเลเยอร์ เอกสารปัจจุบันจะถูกเลือกตามค่าเริ่มต้น แต่คุณสามารถเปลี่ยนเป็นเอกสารที่เปิดอยู่หรือเอกสารใหม่ได้
หากคุณต้องการวางเลเยอร์ที่ซ้ำกันในตำแหน่งเฉพาะในเอกสารที่เปิดอยู่ตรวจสอบให้แน่ใจว่าได้เลือกโฟลเดอร์ที่คุณต้องการวางไว้ก่อนที่จะทำซ้ำเลเยอร์ คุณทำได้โดยการเลือกโฟลเดอร์ที่ต้องการในจานสีเลเยอร์สำหรับเอกสารปลายทาง
หากคุณพบว่าคุณต้องทำซ้ำการกระทำนี้หลายครั้งคุณสามารถทำการกระทำใหม่ได้ เปิด Actions Palette และสร้างการกระทำใหม่ - ตั้งค่าคีย์ลัดของคุณ (ฉันใช้F2) จากนั้นเมื่อต้องการบันทึกการกระทำให้คลิกปุ่มตัวเลือก (มุมบนขวาของหน้าต่างจานสี) และเลือกแทรกรายการเมนู เลือกเลเยอร์> เลเยอร์ซ้ำ จากนั้นคลิกตกลง ตอนนี้เมื่อคุณกดF2ในขณะที่เลเยอร์ใช้งานอยู่มันจะแสดงกล่องโต้ตอบซ้ำ เลือกปลายทางของคุณแล้วเสร็จ! เพียงระวังเมื่อเลือกปุ่มลัดเพราะสามารถลบล้างการกระทำเริ่มต้นของ photoshop ได้
คุณสามารถลากเลเยอร์จากโปรเจ็กต์หนึ่งไปยังอีกโปรเจ็กต์เพียงเปิดทั้งสองโปรเจ็กต์และไปที่หน้าต่างจัดเรียงและแนวตั้ง 2up และไฮไลต์เลเยอร์ที่คุณต้องการคัดลอกและลากไปมา
ดังที่ได้กล่าวไปแล้วคุณสามารถดึงเลเยอร์ออกจากจานสีของเลเยอร์และวางลงในเอกสารใหม่หากหน้าต่างอยู่เคียงข้างกัน มีเคล็ดลับที่คุณสามารถใช้หากคุณไม่ได้ดูแบบใกล้เคียงกัน:
เคล็ดลับนี้ใช้งานได้ใน CS4 และ CS5; ไม่แน่ใจเกี่ยวกับรุ่นก่อนหน้า
นี่คือมาโคร Javascript ที่บังคับใช้ของฉันสำหรับการคัดลอกเลเยอร์จากเอกสาร Photoshop หนึ่งไปยังอีกไฟล์หนึ่งสำหรับทุกคนที่คุ้นเคยกับการเขียนสคริปต์ Photoshop พยายามและทดสอบใน CS 5.5 บน mac
sourceDocumentName
, targetDocumentName
และlayersToCopy
เป็นตัวแปรเดียวที่คุณต้องแก้ไขเพื่อความต้องการของคุณ
สำหรับ Mac คุณสามารถบันทึกได้อย่างที่ต้องการcopyLayersBetweenDocs.jsx
แล้วลากไฟล์สคริปต์บนไอคอน Photoshop ในแท่นเพื่อเรียกใช้ บน Windows คุณต้องบันทึกไว้ในโฟลเดอร์สคริปต์C:\Program Files\Common Files\Adobe\Startup Scripts CS5\Adobe Photoshop
และเปิดจาก Photoshop
#target photoshop
app.bringToFront();
var sourceDocumentName = 'source-doc';
var targetDocumentName = 'target-doc';
// populate this array with whatever the names of the layers
// you want to copy are
var layersToCopy = new Array(
'road-scenery',
'car',
'wheels',
'front-passenger',
'rear-passenger'
);
// alternatively, specify the name of a layer group containing
// the layers you want to copy over.
// Just uncomment the following line
//var layersToCopy = 'layer-group-to-copy';
copyLayers( layersToCopy, sourceDocumentName, targetDocumentName );
/**
* Copy layer from one document to another
* @param {string|Array} layersToCopy
* @param {string} sourceDocumentName
* @param {string} targetDocumentName
*/
function copyLayers( layersToCopy, sourceDocumentName, targetDocumentName ) {
var
sourceLayer,
targetLayer,
sourceGroup;
var sourceDoc = app.documents[sourceDocumentName];
var targetDoc = app.documents[targetDocumentName];
if ( app.activeDocument != sourceDoc ) {
app.activeDocument = sourceDoc;
}
if ( typeof layersToCopy === 'string' ) {
sourceGroup = sourceDoc.layerSets.getByName( layersToCopy );
targetLayer = sourceGroup.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING )
}
else if ( Object.prototype.toString.call( layersToCopy ) === '[object Array]' ) {
for ( var i = 0; i < layersToCopy.length; i++ ) {
sourceLayer = sourceDoc.artLayers.getByName( layersToCopy[i] );
targetLayer = sourceLayer.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING );
}
}
}
เชื่อมโยงเลเยอร์บนจานสีเลเยอร์และตรวจสอบให้แน่ใจว่าคุณเชื่อมโยงเลเยอร์มาสก์ด้วย จากนั้นลากและวาง (อาจถือ shift หากเอกสารมีขนาดเท่ากันหรือคุณต้องการจัดกึ่งกลางเลเยอร์) ไปที่เอกสารอื่น
หากคุณต้องการจัดแนวอาร์ตเวิร์คอย่างแม่นยำให้ใส่พวกมันทั้งหมดไว้ในโฟลเดอร์แล้วเลือกการแยกโหมดการผสมแล้วเปลี่ยนรูป
นี่เป็นวิธีที่รวดเร็วหากคุณต้องการส่งออกชิ้นส่วนบางส่วนของคุณไปเป็น PNG หรือ JPG:
คุณจะได้รูปแบบเลเยอร์ทั้งหมดมาถึงคุณและขนาดผ้าใบจะถูกตัดโดยอัตโนมัติเพื่อให้พอดีกับความกว้างและความสูงของเลเยอร์ จากตรงนี้คุณสามารถบันทึกเป็นไฟล์ PSD ใหม่หรือส่งออกเป็นรูปแบบอื่น
สิ่งนี้จะเป็นประโยชน์สำหรับนักออกแบบเว็บไซต์เมื่อส่งออกองค์ประกอบของเว็บที่คุณต้องการส่งออกแต่ละรายการแยกกัน ข้อเสียของเทคนิคนี้คือเมื่อคุณสร้างวัตถุอัจฉริยะ Photoshop จะบันทึกเลเยอร์ของคุณในไฟล์แยกต่างหากซึ่งอาจนำไปสู่การใช้หน่วยความจำเพิ่มเติม
เพื่อให้สามารถคัดลอกและวางฉันทำได้ เปิดเลเยอร์ที่ฉันต้องการคัดลอกในกรณีส่วนใหญ่โลโก้ของฉันและเลือกทั้งหมด (Ctrl + A) คลิกขวาที่เลเยอร์จากนั้นเลือกเลเยอร์ Rasterize จากนั้นกด Ctrl + C เพื่อคัดลอกไปที่เอกสารใหม่และทำ Ctrl + V เพื่อวาง ได้ผลสำหรับฉัน