文章目录
1.算法程序
- 1.算法程序
- 2.作者答疑
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
关注
打赏
热门博文
- Adobe illustrator插件开发-SPInterfaceSuite-插件A向插件B传递消息-插件通信-AI插件开发
- javascript-ztree-树形控件-初始化-加载节点数据-节点数据获取
- Adobe illustrator插件开发-坐标系统-AIHardSoftSuite-画板坐标-页面坐标-AI插件开发
- Adobe illustrator插件开发-AIUIDUtilsSuite-AIUIDPoolSuite-AIUIDSuite-AIUIDREFSuite-Art唯一标识符与索引-AI插件开发
- C++-逆向分析-类的成员函数地址与对象地址动态绑定-this指针-成员函数和成员虚函数反汇编解析
- C++-逆向分析-结构体和类-内存布局-this指针-静态数据成员-对象作为参数和返回值
- Adobe illustrator插件开发-命令名称-AddCommand -AI插件开发
- Adobe illustrator插件开发-事件-PlugPlugAddEventListener-向系统注册事件-AI插件开发
- Adobe illustrator插件开发-ole拖拽粘贴交换数据格式-RegisterClipboardFormat函数-AI插件开发
- Adobe illustrator插件开发-所有模块列表-内部存在大量非公开的Suite-AI插件开发