Como Criar Camadas de Cores no Adobe Illustrator Usando Scripts
No Adobe Illustrator, a organização de elementos com base nas suas cores pode ser uma tarefa demorada, especialmente em projetos complexos com muitos objetos coloridos. No entanto, ao utilizar scripts, podemos automatizar esta tarefa e poupar tempo valioso. Neste artigo, vamos explorar um script útil que cria automaticamente uma camada para cada cor distinta nos objetos selecionados, nomeando cada camada com o nome da cor correspondente.
O que é um Script no Adobe Illustrator?
Scripts são conjuntos de comandos que podem ser executados automaticamente para realizar tarefas específicas. No Adobe Illustrator, podemos utilizar JavaScript (ExtendScript) para criar scripts que ajudam a automatizar tarefas repetitivas ou complexas, melhorando a eficiência do nosso fluxo de trabalho.
O Script: Criar Camadas para Cada Cor
Este script específico percorre todos os objetos selecionados no documento ativo, identifica a cor de preenchimento de cada objeto, e cria uma nova camada para cada cor distinta. A camada é nomeada com o nome da cor (como “Vermelho”, “Verde”, etc.), e o objeto é movido para essa camada.
O Código do Script
// Script para criar uma camada para cada cor no Adobe Illustrator function createLayersForColors() { if (app.documents.length === 0) { alert("Nenhum documento aberto."); return; } var doc = app.activeDocument; if (doc.selection.length === 0) { alert("Nenhum objeto selecionado."); return; } var colorLayers = {}; var items = doc.selection; for (var i = 0; i < items.length; i++) { var item = items[i]; var fillColor = item.fillColor; var colorName = getColorName(fillColor); if (!colorLayers[colorName]) { var newLayer = doc.layers.add(); newLayer.name = colorName; colorLayers[colorName] = newLayer; } item.moveToBeginning(colorLayers[colorName]); } alert("Camadas criadas para cada cor."); } function getColorName(color) { if (color.typename === "RGBColor") { return getRGBColorName(color.red, color.green, color.blue); } else if (color.typename === "CMYKColor") { // Converter CMYK para RGB para simplificar a identificação da cor var rgb = CMYKtoRGB(color.cyan, color.magenta, color.yellow, color.black); return getRGBColorName(rgb.red, rgb.green, rgb.blue); } else if (color.typename === "GrayColor") { return "Cinza"; } else { return "Cor Desconhecida"; } } function getRGBColorName(r, g, b) { var colors = [ { name: "Preto", r: 0, g: 0, b: 0 }, { name: "Branco", r: 255, g: 255, b: 255 }, { name: "Vermelho", r: 255, g: 0, b: 0 }, { name: "Verde", r: 0, g: 255, b: 0 }, { name: "Azul", r: 0, g: 0, b: 255 }, { name: "Amarelo", r: 255, g: 255, b: 0 }, { name: "Ciano", r: 0, g: 255, b: 255 }, { name: "Magenta", r: 255, g: 0, b: 255 }, { name: "Cinza", r: 128, g: 128, b: 128 }, { name: "Laranja", r: 255, g: 165, b: 0 }, { name: "Rosa", r: 255, g: 192, b: 203 }, { name: "Roxo", r: 128, g: 0, b: 128 }, { name: "Marrom", r: 165, g: 42, b: 42 }, { name: "Verde Claro", r: 144, g: 238, b: 144 }, { name: "Azul Claro", r: 173, g: 216, b: 230 } ]; var minDistance = Infinity; var closestColor = "Cor Desconhecida"; for (var i = 0; i < colors.length; i++) { var distance = Math.sqrt( Math.pow(colors[i].r - r, 2) + Math.pow(colors[i].g - g, 2) + Math.pow(colors[i].b - b, 2) ); if (distance < minDistance) { minDistance = distance; closestColor = colors[i].name; } } return closestColor; } function CMYKtoRGB(c, m, y, k) { var r = 255 * (1 - c / 100) * (1 - k / 100); var g = 255 * (1 - m / 100) * (1 - k / 100); var b = 255 * (1 - y / 100) * (1 - k / 100); return { red: r, green: g, blue: b }; } createLayersForColors();
Como Utilizar o Script
- Abra o Adobe Illustrator: Certifique-se de que tem um documento aberto e com objetos selecionados.
- Selecione os Objetos: Selecione os objetos para os quais deseja criar camadas separadas com base na cor.
- Execute o Script: Vá para
Arquivo > Scripts > Outro Script...
, navegue até onde guardou o script e selecione-o. - Verifique o Resultado: O script criará camadas para cada cor distinta e moverá os objetos para as camadas correspondentes.
Explicação do Código
- createLayersForColors: Esta função principal percorre todos os objetos selecionados e identifica a cor de preenchimento de cada um. Se a cor ainda não tiver uma camada associada, cria uma nova camada e move o objeto para lá.
- getColorName: Esta função retorna o nome da cor baseado nas propriedades RGB ou CMYK. Para cores CMYK, converte os valores para RGB.
- getRGBColorName: Esta função compara os valores RGB com uma lista predefinida de cores comuns e retorna o nome da cor mais próxima.
- CMYKtoRGB: Converte valores de cor CMYK para RGB, facilitando a comparação e nomeação das cores.
Conclusão
A utilização de scripts no Adobe Illustrator pode simplificar e automatizar tarefas repetitivas, poupando tempo e melhorando a eficiência do seu fluxo de trabalho. Este script específico, que cria camadas baseadas em cores e as nomeia de forma descritiva, é um excelente exemplo de como a automação pode melhorar a organização dos seus projetos. Experimente e veja como pode agilizar o seu processo de design!
Com ou sem scripts sabe qual a melhor gráfica online? É com certeza a Webnial Gráfica Online, que oferece a melhor qualidade ao melhor preço.