Cuando utilizo una secuencia de comandos de Illustrator con límites visibles o tamaño de selección en imágenes recortadas, la secuencia de comandos ve el tamaño original de las imágenes recortadas como el tamaño de los grupos en lugar de su tamaño visible (recortado). Digamos que tengo una 150mm x 200mm
imagen y estoy usando una máscara de recorte para recortar una 100mm x 100mm
parte. Así que ahora veo un rectángulo 100mm x 100mm
, luego le agrego algunos otros elementos; no se vuelve más grande que 100mm x 100mm
. Entonces quiero trabajar con este tamaño, no con el tamaño de la imagen original.
¿Cómo implementar esto en el script para trabajar más con él? Estoy usando Illustrator CS5.
Siempre que el arte recortado sea un vector (a diferencia de una imagen de trama), puede usarlo Object > Expand appearance
para eliminar las partes que están recortadas. Por lo tanto, el guión ya no verá el arte original y no funcionará correctamente.
Debe obtener los límites geométricos del elemento de ruta de recorte real; es el primer elemento de ruta en un grupo de recorte.
Un grupo de recorte es básicamente un GroupItem
con clipped: true
y uno de los elementos dentro de ese grupo tendrá clipping: true
.
Echa un vistazo a este script:
function getVisibleBounds(item, geometric) {
var bounds;
// `clipped` is a property of a group
if (item.typename = "GroupItem" && item.clipped) {
var clippingItem;
// look at all the items in the group to find the clipping item
for (var i = 0; i < item.pageItems.length; i++) {
// a child item will have `clipping` property set
if (item.pageItems[i].clipping) {
// found the clipping item!
clippingItem = item.pageItems[i];
break;
// do the same thing for CompoundPathItems
} else if (item.pageItems[i].typename == "CompoundPathItem") {
if (item.pageItems[i].pathItems[0].clipping) {
clippingItem = item.pageItems[i];
break;
}
}
}
// store the clipping item's bounds
bounds = geometric ? clippingItem.geometricBounds : clippingItem.visibleBounds;
} else {
// or just a normal item
bounds = geometric ? item.geometricBounds : item.visibleBounds;
}
return bounds;
}
scott