首页 > 其他分享 >aijs 添加图形 线条与矩形

aijs 添加图形 线条与矩形

时间:2023-02-01 12:04:35浏览次数:46  
标签:startX strokeWidth pt aijs param 添加 startY strokeColor 矩形


var canvas = activeDocument.groupItems.add();
var pt = 72 / 25.4;

//把需要添加的图形 放入列表
var shapes = new Array();
shapes.push(new ShapeLine(0, 0, 20, 20, 0.2, MyColor().red));
shapes.push(new ShapeRect(0, 0, 20, 20, 0.2, MyColor().red, MyColor().black));

//画出来
for (var i = 0; i < shapes.length; i++) {
shapes[i].draw();
}




/**
* 图形类 比如线条 矩形 文字 导入的pdf模板 这些都算
* 他们的共性
* 坐标 共同的方法 draw
* @constructor
*/
function Shape() {
this.canvas = canvas;
this.draw = function () {
//每个子类有自己 生产方式
alert('这个儿子没有重写爸爸的方法');
}

}

/**
* 画线段
* @param startX 起点X
* @param startY 起点Y
* @param endX 终点X
* @param endY 终点Y
* @param strokeWidth 线宽
* @param strokeColor 线色
* @constructor
*/
function ShapeLine(startX, startY, endX, endY, strokeWidth, strokeColor) {
Shape.call(this)
this.startX = startX * pt;
this.startY = startY * pt;
this.endX = endX * pt;
this.endY = endY * pt;
this.strokeWidth = strokeWidth * pt;
this.strokeColor = strokeColor;
this.draw = function () {
var line = this.canvas.pathItems.add();
line.setEntirePath([[this.startX, this.startY], [this.endX, this.endY]]);
line.strokeColor = this.strokeColor;
line.fillColor = NoColor;
line.strokeWidth = this.strokeWidth;
return line;
}
}

/**
* 矩形类
* @param startX 起点X 左上角是起点
* @param startY 起点Y 左上角是起点
* @param width 宽度
* @param height 高度
* @param strokeWidth 线宽
* @param fillColor 填充色
* @param strokeColor 线色
* @constructor
*/
function ShapeRect(startX, startY, width, height, strokeWidth, fillColor, strokeColor) {
Shape.call(this)
this.startX = startX * pt;
this.startY = startY * pt;
this.width = width * pt;
this.height = height * pt;
this.strokeWidth = strokeWidth * pt;
this.strokeColor = strokeColor;
this.fillColor = fillColor;
this.draw = function () {
var rect = this.canvas.pathItems.rectangle(this.startX, this.startY, this.width, this.height);
rect.strokeColor = this.strokeColor;
rect.fillColor = this.fillColor;
rect.strokeWidth = this.strokeWidth;
return rect;
}
}

/**
* 工具类用于存放 一些常用的方法
* @constructor
*/
function MyUtils() {
this.createCMYKColor = function (c, m, y, k) {
var color = new CMYKColor();//创建颜色变量
color.cyan = c;//设置颜色的值
color.magenta = m;//设置颜色的值
color.yellow = y;//设置颜色的值
color.black = k;//设置颜色的值
return color;
}
}

/**
* 颜色类 存储一些常用的颜色
* @returns {MyColor}
* @constructor
*/
function MyColor() {
var utils = new MyUtils();
this.black = utils.createCMYKColor(0, 0, 0, 100);
this.red = utils.createCMYKColor(0, 100, 100, 0);
return this;
}


标签:startX,strokeWidth,pt,aijs,param,添加,startY,strokeColor,矩形
From: https://blog.51cto.com/u_10780206/6031174

相关文章

  • aijs描边填色
    s=app.activeDocument.pathItemsmm=72/25.4sp=SPOT("diecut")for(vari=0;i<s.length;i++){varw=s[i].width/mm;varh=s[i].height/mm;......
  • aijs 删除隐藏图层
    for(vari=activeDocument.layers.length-1;i>=0;i--){varlayer=activeDocument.layers[i];if(!layer.visible){layer.visible=true;layer.re......
  • 优雅地在Chisel-BlackBox中添加二维数组端口
    论坛地址:https://ysyx.oscc.cc/forum/topic/229/%E4%BC%98%E9%9B%85%E5%9C%B0%E5%9C%A8chisel-blackbox%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84......
  • tomcat 添加用户
    Tomcat用户在$TOMCAT_HOME/conf/tomcat-users.xml文件中定义,默认情况下,没有用户,这意味着没有人可以访问Tomcat管理器页面。要使用户能够访问Tomcat管理器页面,请将用户添加......
  • Qt 按键添加图标
    1、开发环境:Qt5.12.2,QtCreate4.8.22、直接上代码/*按键上背景*/QPixmappixmap(":/Resourses/images/easyicon_net.png");QPixmapfitpixmap=pixmap.......
  • Qt 程序主界面添加背景图片
    1、开发环境:Qt5.12.2,QtCreate4.8.22、贴图代码,在主程序中编写#include<QImageReader>intmain(intargc,char*argv[]){QApplicationa(argc,argv);Mai......
  • mavon-editor自定义添加颜色选择器
    mavon-editor原本是没有带颜色选择器的,产品提出的需求,只好自定义一个了这里是看了源码再加上看别人的博客,然后加了个插槽,我使用的是elementui的颜色选择器el-color-picke......
  • 如何通过Java应用程序添加或删除 PDF 中的附件
    当我们在制作PDF文件或者PPT演示文稿的时候,为了让自己的文件更全面详细,就会在文件中添加附件。并且将相关文档附加到PDF可以方便文档的集中管理和传输。那么如何添加或删......
  • 【转载】 spring 利用注解类添加日志到mysql
    一、前言我们写完一个项目,运维时,如果出现了bug,我们需要查看控制台的日志,但是那个日志无关方法太多,查找不是很方便,还有就是一个项目上线之后,我们需要记录谁操作了那些功能,......
  • Pycharm中批量添加单引号,双引号的方法(爬虫Headers中批量加引号)
    ​​Python全栈工程师核心面试300问深入解析(2020版)----全文预览​​​​Python全栈工程师核心面试300问深入解析(2020版)----欢迎订阅​​爬虫项目时候,经常需要......