Interface 将artboard视图集中在巨大位图上的图层内容上

Interface 将artboard视图集中在巨大位图上的图层内容上,interface,navigation,photoshop,Interface,Navigation,Photoshop,我正在photoshop CS 2018中制作一幅非常大(35000 x 35000像素)的图像。我有1000层,其中许多层的内容很小(约200 x 200像素,例如位图文本20-50个字) 因为画布上的内容太多了,我很难找到图像上的图层!我可以很容易地在图层调色板中找到图层-那里有层次结构-但是我找不到让PS自动将我的视图集中在图层内容所在的图像部分的方法 如果缩小,我看不到图层,因为它太小了 关于如何更轻松地在如此巨大图像的不同部分之间切换,有什么建议吗?或者如何快速定位图层?也许这会有所帮

我正在photoshop CS 2018中制作一幅非常大(35000 x 35000像素)的图像。我有1000层,其中许多层的内容很小(约200 x 200像素,例如位图文本20-50个字)

因为画布上的内容太多了,我很难找到图像上的图层!我可以很容易地在图层调色板中找到图层-那里有层次结构-但是我找不到让PS自动将我的视图集中在图层内容所在的图像部分的方法

如果缩小,我看不到图层,因为它太小了


关于如何更轻松地在如此巨大图像的不同部分之间切换,有什么建议吗?或者如何快速定位图层?

也许这会有所帮助?第一个函数将在活动层边界框的中心绘制辅助线,以便您可以在画布中轻松找到它,第二个函数将删除所有辅助线。将这些文件另存为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()

也许这会有帮助?第一个函数将在活动层边界框的中心绘制辅助线,以便您可以在画布中轻松找到它,第二个函数将删除所有辅助线。将这些文件另存为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()

好极了先生,您是一位学者和绅士!这真是太棒了。如果你想知道我为什么要找这个:太棒了。先生,您是一位学者和绅士!这真是太棒了。如果你想知道我为什么要找这个: