我在photoshop CS 2018中处理了一个非常大的(35,000 x 35,000像素)图像。我有1000个图层,其中许多图像内容很小(~200 x 200像素,例如位图文字20-50字)。
因为在这个画布上有这么多,我很难在图像上找到图层!我可以在图层调色板中轻松找到图层 - 那里有层次组织 - 但是我无法找到PS自动将我的视图置于图像中图层部分的内容
如果我缩小,我无法看到该图层,因为它太小了。
如何更轻松地在如此巨大的图像的不同部分之间跳转?或者如何快速定位图层?
答案 0 :(得分:2)
也许这会有所帮助?第一个函数将在活动图层边界框的中心绘制向导,以便您可以轻松地在画布中找到它,第二个将删除所有向导。将它们保存为Photoshop / Presets / Scripts文件夹中的.jsx文件,PS重启后,它们将在文件>中可用。脚本菜单(您可以将它们分配给热键)。
第一个:
function main() {
try {
var l = activeDocument.activeLayer
} catch (e) {
return false //no active layer
}
var b = l.bounds
if (b[0] === b[1] === b[2] === b[3]) {
alert('Looks like the layer "' + l.name + '" is empty');
return false //layer is empty
}
// set to pixels;
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var ref = new ActionReference();
ref.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
var applicationDesc = executeActionGet(ref);
var theH = applicationDesc.getInteger(stringIDToTypeID("rulerOriginH")) / 65536;
var theV = applicationDesc.getInteger(stringIDToTypeID("rulerOriginV")) / 65536;
// reset;
var halfV = b[1] + (b[3] - b[1]) / 2 - theV;
var halfH = b[0] + (b[2] - b[0]) / 2 - theH;
activeDocument.guides.add(Direction.HORIZONTAL, new UnitValue(halfV, app.activeDocument.width.unit));
activeDocument.guides.add(Direction.VERTICAL, new UnitValue(halfH, app.activeDocument.width.unit));
app.preferences.rulerUnits = originalRulerUnits;
}
main()
和第二个:
function main() {
var idDlt = charIDToTypeID("Dlt ");
var desc276 = new ActionDescriptor();
var idnull = charIDToTypeID("null");
var ref184 = new ActionReference();
var idGd = charIDToTypeID("Gd ");
var idOrdn = charIDToTypeID("Ordn");
var idAl = charIDToTypeID("Al ");
ref184.putEnumerated(idGd, idOrdn, idAl);
desc276.putReference(idnull, ref184);
executeAction(idDlt, desc276, DialogModes.NO);
}
main()