文章目录
AI智能填充是一款Illustrator智能填充插件。利用此脚本可以快速把一组对象智能填充到你预置的容器中,填充的对象会根据你的容器形状智能缩放大小以及调整位置。灵活的运用此脚本可以制作出很多各种充满创意的图形。本文根据此需求,展示如何制作这款插件的流程。
1.插件界面
- 1.插件界面
- 2.算法过程
- 3.源码下载
- 4.实现效果
- 5.作者寄语
插件最终效果如下:
var win = new Window("dialog", "智能填充");
win.orientation = "column";
win.alignChildren = ["fill", "fill"];
var globalGroup = win.add("group");
globalGroup.orientation = "column";
globalGroup.alignChildren = ["fill", "fill"];
var sizePanel = globalGroup.add("panel", undefined, "对象占总尺寸的比例");
var sizeGroup = sizePanel.add("group");
sizePanel.alignChildren = "fill";
sizeGroup.orientation = "row";
sizeGroup.alignChildren = ["fill", "fill"];
var maxValueGroup = sizeGroup.add("group");
maxValueGroup.orientation = "row";
maxValueGroup.alignChildren = "fill";
var maxValueLabel = maxValueGroup.add("statictext", undefined, "最大值:");
var maxValue = maxValueGroup.add("edittext", [0, 0, 50, 25], "10");
maxValueLabel.justify = "center";
var minValueGroup = sizeGroup.add("group");
minValueGroup.orientation = "row";
minValueGroup.alignChildren = "fill";
var minValueLabel = minValueGroup.add("statictext", undefined, "最小值:");
var minValue = minValueGroup.add("edittext", [0, 0, 50, 25], "4");
minValueLabel.justify = "center";
function checkMnMaxSize(val, item, min, max) {
if (item === minValue) {
if (val > parseFloat(maxValue.text)) {
maxValue.text = val >= max ? max : val;
}
} else {
if (item === maxValue) {
if (val parseFloat(maxValue.text)) {
maxValue.text = val >= max ? max : val;
}
} else {
if (item === maxValue) {
if (val
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?