文章目录

  • 1.算法程序
  • 2.作者答疑

1.算法程序

  illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是拼版,开发一个一键拼版功能,源代码如下所示:

function makeup(docWidth, docHeight, objWidth, objHeight, marginTop, marginRight, marginBottom, marginLeft) {var width = (docWidth - marginLeft) - marginRight;var height = (docHeight - marginTop) - marginBottom;var w = parseInt(width / objWidth);var h = parseInt(height / objHeight);var wd = (width - (w * objWidth)) / 2;var hd = (height - (h * objHeight)) / 2;return {top: marginTop + hd,left: marginLeft + wd,landscape: w,portrait: h};
}function makeup2(docWidth, docHeight, objWidth, objHeight, marginTop, marginRight, marginBottom, marginLeft) {var r1 = makeup(docWidth, docHeight, objWidth, objHeight, marginTop, marginRight, marginBottom, marginLeft);var r2 = makeup(docHeight, docWidth, objWidth, objHeight, marginTop, marginRight, marginBottom, marginLeft);var x1 = r1.landscape * r1.portrait;var x2 = r2.landscape * r2.portrait;var r = null;if (x1 > x2) {r = r1;r.dir = 0;} else {r = r2;r.dir = 1;}return r;
}function getDocTopLeft(doc) {var pos = doc.rulerOrigin;if (pos[0] != 0 || pos[1] != 0) {[doc.height + pos[1], pos[0]];}return [0, doc.height];
}function drawLine(pObj, points) {var line = pObj.pathItems.add();line.stroked = true;line.filled = false;line.strokeWidth = 0.566929;var color = new CMYKColor();color.black = 100;color.cyan = 0;color.magenta = 0;color.yellow = 0;line.strokeColor = color;line.setEntirePath(points);
}function matrixmakeup() {var doc = app.activeDocument;var obj = doc.selection[0];if (!obj) {alert("请选择需要自动排版的对象!");return;}var docWidth = doc.width;var docHeight = doc.height;var objWidth = obj.width;var objHeight = obj.height;var margin = 14.173225;var madeup = makeup2(docWidth, docHeight, objWidth, objHeight, margin, margin, margin, margin);var w = madeup.landscape;var h = madeup.portrait;var top = madeup.top;var left = madeup.left;var dir = madeup.dir;if (dir == 1) {}var docPos = getDocTopLeft(doc);var docLeft = docPos[0];var docTop = docPos[1];for (var widx = 0; widx < w; widx += 1) {for (var hidx = 0; hidx < h; hidx += 1) {var o = obj.duplicate(doc, ElementPlacement.PLACEATEND);o.position = [docLeft + left + (widx * objWidth), (docTop - top) - (hidx * objHeight)];}}var lines = doc.groupItems.add();var mm2 = 5.66929;var mm4 = 11.33858;for (var hidx = 0; hidx <= h; hidx += 1) {var a = (docLeft + left) - mm2;var b = a - mm4;var c = (docTop - top) - (hidx * objHeight);drawLine(lines, [[a, c],[b, c]]);var a = docLeft + left + (w * objWidth) + mm2;var b = a + mm4;var c = (docTop - top) - (hidx * objHeight);drawLine(lines, [[a, c],[b, c]]);}for (var widx = 0; widx <= w; widx += 1) {var a = (docTop - top) + mm2;var b = a + mm4;var c = docLeft + left + (widx * objWidth);drawLine(lines, [[c, a],[c, b]]);var a = ((docTop - top) - (h * objHeight)) - mm2;var b = a - mm4;var c = docLeft + left + (widx * objWidth);drawLine(lines, [[c, a],[c, b]]);}obj.remove();alert("横: " + w + " 纵: " + h + "    共计: " + (w * h));
}
matrixmakeup();

2.作者答疑


  如有疑问,请留言。

illustrator插件-拼版功能开发-一键拼版-js脚本开发-ai插件相关推荐

  1. illustrator插件--常用功能开发--标注横尺寸--js脚本开发--AI插件

    1.算法功能   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是标注横尺寸,开发一个标注横尺寸功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源 ...

  2. illustrator插件--常用功能开发--查找白色叠印--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是查找白色叠印,开发一个查找白色叠印功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所 ...

  3. illustrator插件--常用功能开发--生成出血线--js脚本开发--AI插件--动作--菜单

    文章目录 1.算法程序 2.作者答疑 1.算法程序   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就生成出血线,开发一个生成出血线功能,以下功能仅用于学习 ...

  4. illustrator插件--常用功能开发--绘制外箱--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是绘制外箱,开发一个绘制外箱功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示: v ...

  5. AfterEffect插件-常规功能开发-高斯特效添加-js脚本开发-AE插件

    文章目录 1.程序算法 2.应用 3.作者答疑 1.程序算法   高斯模糊(英语:Gaussian Blur),也叫高斯平滑 ,通常用它来减少图像噪声以及降低细节层次. 从数学的角度来看,图像的高斯模 ...

  6. AfterEffect插件-常规功能开发-复制组合图层-js脚本开发-AE插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目 ...

  7. AfterEffect(AE)插件-常规功能开发-放大缩小图层-js脚本开发-AE插件

    文章目录 1.算法程序 2.文本转执行 3.作者答疑 1.算法程序   AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大 ...

  8. AfterEffect插件--常规功能开发--命令行渲染--js脚本开发--AE插件

      AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目里进行命令行渲染功能.源代码如下所示: // Com ...

  9. AfterEffect插件--常规功能开发--合成放大缩小--js脚本开发--AE插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目 ...

最新文章

  1. Windows搭建以太坊的私有链环境
  2. Python字符串基本操作
  3. 电机高频注入原理_永磁同步电机转子位置与速度估算的新方法,精度好,性价比高...
  4. Docker运行参数详解
  5. 内核管理 之 内核管理概述
  6. html算命源码,index.html
  7. h3c交换机堆叠(IRF)配置三步完成
  8. 苹方字体 for linux,苹果苹方字体
  9. AUTOSAR CAN Wakeup Analysis
  10. 【防火墙_动态路由-OSPF】
  11. .Net Core——配置系统
  12. 转-注册表对应项详解
  13. 模板文件, ruby erb 与 python format
  14. Django-Templates模板语法(三)
  15. 后付费和账单分期真的可以缓解经济压力么
  16. 解决注册Github邮箱用qq邮箱无法收到验证码的问题
  17. 硬件知识:一款全隔离的电机驱动电路分析
  18. 双核心Opteron处理器
  19. 如何实现国外域名调转到国内已备案ip
  20. FreeRTOS:一、入门知识

热门文章

  1. 【MSSql2000】GroupByOrderBy
  2. JS中Object的方法汇总,包括assign、create、prototype等等
  3. 基于GPT硬盘模式重装win10操作系统
  4. MySQL 10060错误 解决方法
  5. 如何将ios键盘返回由英文设置成中文
  6. 图片合成视频,视频文件过大了,python 改变视频的码率, 压缩视频文件
  7. Oracle报错ORA-01507: ??????
  8. tensorflow 19: tflite 概念理解
  9. Paper Note - 基于高效数据流标记和跟踪的可精炼跨主机攻击调查
  10. 手把手教你用Unity做出MMD,不用一行代码让你的动漫人物动起来!