写一个Photoshop脚本代码,计算图层的宽高比,如果宽高比大于1,则将宽度设置成900像素,否则将高度设置成900像素,然后将图层相对画布左右居中和上下居中


以下是一个满足你需求的 Photoshop 脚本代码: ```javascript // 获取当前文档 var doc = app.activeDocument; // 遍历文档中的所有图层 for (var i = 0; i < doc.layers.length; i++) { var layer = doc.layers[i]; // 计算图层的宽高比 var aspectRatio = layer.bounds[2] - layer.bounds[0] / (layer.bounds[3] - layer.bounds[1]); // 根据宽高比调整图层大小 if (aspectRatio > 1) { // 如果宽高比大于1,将宽度设置为900像素 layer.resize(900 / (layer.bounds[2] - layer.bounds[0]) * 100, null, AnchorPosition.MIDDLECENTER); } else { // 如果宽高比小于等于1,将高度设置为900像素 layer.resize(null, 900 / (layer.bounds[3] - layer.bounds[1]) * 100, AnchorPosition.MIDDLECENTER); } // 计算图层相对于画布左右居中的偏移量 var horizontalOffset = (doc.width.value - (layer.bounds[2] - layer.bounds[0])) / 2; // 计算图层相对于画布上下居中的偏移量 var verticalOffset = (doc.height.value - (layer.bounds[3] - layer.bounds[1])) / 2; // 移动图层到居中位置 layer.translate(horizontalOffset, verticalOffset); } ``` 额外需要注意的逻辑点 1. 此脚本会对文档中的所有图层进行操作,如果只想处理特定图层,需要添加额外的判断逻辑来筛选图层。 2. 脚本假设文档的单位是像素,如果文档的单位不是像素,可能会导致计算结果不准确,需要先将单位转换为像素或者修改脚本中的计算逻辑。 3. 脚本运行前最好先保存文档,因为脚本会直接修改图层的大小和位置,如果操作有误可能无法恢复。 [2025-07-04 22:16:57 | AI写代码神器 | 464点数解答]
- 题目描述 输入三个整数 x , y , z x,y,z, 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数。 输入格式 输入包括一行,包含三个整数 x , y , z x,y,z,数字之间用空格隔开。 输出格式 输出包括一行 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数,输出时,数与数之间用1个空格隔开。 input1 复制 1 10 5 output1 复制 1 2 3 4 5 6 7 8 9 10 input2 复制 4 20 4 output2 复制 1 2 3 4 样例解释 对于样例 1 1: x x是奇数, y = 10 y=10,因此输出 1 ∼ 10 1∼10。 对于样例 2 2: x x是偶数, z = 10 z=10,因此输出 1 ∼ 4 1∼4 。 c++ (391点数解答 | 2025-06-14 09:57:45)170
- 题目描述 输入三个整数 x , y , z x,y,z, 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数。 输入格式 输入包括一行,包含三个整数 x , y , z x,y,z,数字之间用空格隔开。 输出格式 输出包括一行 如果 x x为奇数,输出 1 ∼ y 1∼y之间的所有数,如果 x x为偶数,输出 1 ∼ z 1∼z之间的所有数,输出时,数与数之间用1个空格隔开。 c++(372点数解答 | 2025-07-06 15:39:04)115
- 给定一个整数,判断其正负。如果,输出; 如果,输出; 如果,输出。c++ (313点数解答 | 2025-10-02 21:00:08)9
- 给定一个整数 N N,判断其正负。如果 N > 0 N>0,输出 p o s i t i v e positive; 如果 N = 0 N=0,输出 z e r o zero; 如果 N < 0 N<0,输出 n e g a t i v e negative。(38点数解答 | 2025-10-02 21:05:11)10
- 给定一个整数 N N,判断其正负。如果 N > 0 N>0,输出 p o s i t i v e positive; 如果 N = 0 N=0,输出 z e r o zero; 如果 N < 0 N<0,输出 n e g a t i v e negative。c++(86点数解答 | 2025-10-02 21:05:23)8
- r语言代码 2. 完成练习: 以下是 15 名学生通过某课程强化集训前后的测试成绩: 学生: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 集训前 82 59 77 50 64 76 55 64 75 75 62 79 81 73 60 集训后 97 64 75 67 89 70 66 91 67 75 86 86 85 96 80 根据这一样本, i)写出原假设与备择假设; ii)计算检验统计量的样本值; iii)检验该课程的这种强化集训能否提升学生成绩 1)大于 5 分;2)小于 10 分。其中显著性 水平为 0.05(630点数解答 | 2024-11-26 22:00:01)223
- photoshop 增加颜色 脚本(303点数解答 | 2025-03-11 14:42:50)173
- photoshop 增加颜色 脚本(260点数解答 | 2025-03-11 14:43:16)147
- Photoshop 脚本:修复曝光过度照片(适用于 PS 24.7.0)(166点数解答 | 2025-04-30 10:13:32)136
- Photoshop 脚本:修复曝光过度照片(适用于 PS 24.7.0)(585点数解答 | 2025-04-30 10:15:33)136
- Photoshop 脚本:调用Camera Raw滤镜,对照片去雾(397点数解答 | 2025-07-25 14:42:48)72
- 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)350