Script para repintar objetos vetoriais na cor do plano de fundo abaixo deles (teste encerrado). Aplicativo para dispositivos móveis

Hoje apresentamos um script útil para Ilustrador da Adobe... Foi criado por um talentoso desenvolvedor ucraniano de scripts e plug-ins para Adobe Illustrator e meu amigo - Yaroslav Tabachkovsky (Yemz), que também é conhecido como desenvolvedor plugin grátis Mesh Tormentor. O script RandomSwatchesFill colore aleatoriamente os objetos selecionados com as cores selecionadas na paleta Amostras.

Você pode baixar o script gratuitamente clicando no botão Download no início ou no final desta revisão.

Vamos colocar o script na seguinte pasta, por exemplo:

Para Windows: C: \ Arquivos de programas \ Adobe \ Adobe Illustrator CS5 \ Presets \ en_GB \ Scripts

Para Mac: Aplicativos / Adobe \ Adobe Illustrator CS5 \ Presets \ en_GB \ Scripts

Para obter um exemplo do trabalho do script Random Swatches Fill, vamos pegar um trabalho vetorial que consiste em muitos objetos monofônicos.

Observe que os objetos aos quais o script será aplicado devem ser desagrupados e selecionados. Sem remover a seleção, abra o painel Amostras. Usando a tecla Ctrl / Command, selecione na paleta Amostras as cores que usaremos para pintar os objetos.

Aplique o script RandomSwatchesFill acessando Arquivo> Scripts> RandomSwatchesFill. Como resultado, obtemos objetos coloridos aleatoriamente.

Este script pode ser aplicado a todo o trabalho vetorial e a vários objetos. Usando a Lasso Tool (Q), selecione vários objetos e usando a tecla Ctrl / Command, selecione as cores da paleta Swatches, nas quais iremos pintar esses objetos.

Como resultado, parte do trabalho vetorial é colorida em ordem aleatória com as cores selecionadas.

Você pode experimentar cores, preenchimentos de gradiente ou padrões no painel Amostras e ver quais resultados originais podem ser obtidos. Em meu próprio nome, quero agradecer a Yemz por este roteiro e espero que seja útil em seu trabalho criativo diário e que você gaste menos tempo com questões técnicas rotineiras.

O nome não explica nada, é verdade. Melhor dar uma olhada na foto:

Como você pode ver, há três etapas envolvidas: encontre um fundo, desenhe em cima das figuras vetoriais, execute o script e obtenha as figuras recoloridas. Para que isso funcione, você precisa de um ilustrador pelo menos CS6 e acho que qualquer photoshop (testado no CS3). Você não pode fazer isso sem o Photoshop. Sim, e mais paciência será necessária)

Em certo sentido, este script é realmente uma tentativa de fazer um análogo da funcionalidade que ocorreu no scriptwriter (Color Raster). Mas lembre-se que só vi em fotos do site oficial e nunca no trabalho real, e não sei como funcionou de verdade (exceto que era muito mais rápido) e quais recursos tinha. O que fiz foi exatamente a implementação da tarefa escrita no título, na forma em que eu pudesse entendê-la, e usando apenas os recursos de script integrados.

Agora, um pouco mais de detalhes sobre cada etapa:
1. Plano de fundo - o plano de fundo pode ser qualquer, raster ou vetorial. Pode ser sólido ou uma colagem de qualquer coisa. A única coisa importante é que o script de plano de fundo considerará tudo o que está na camada inferior.

2. Objetos vetoriais são o que serão recoloridos. Na verdade, estamos falando de caminhos fechados que formam qualquer figura. Não testei os compostos, acho que serão ignorados. As formas podem ser combinadas em grupos, incluindo aqueles com várias camadas. Eles podem ser mascarados (é só lembrar que o que está "escondido" pela máscara também será repintado, e esse é o momento, que será discutido a seguir). O que quer que esteja na camada superior será recolorido. Camadas entre a primeira e a última serão ignoradas.

3. O roteiro e seu trabalho real. O Photoshop deve ser iniciado antes de executar o script. Nesse caso, o script irá iniciá-lo sozinho, mas isso só causará perda de tempo extra. Você não precisa selecionar nada, se o fundo e os objetos estão prontos e em suas camadas, inicie e .. espere um bom tempo. Aqui está uma mosca na sopa, esse processo é longo. Não vou tentar me desculpar com detalhes técnicos, o problema está, é claro, simplesmente na minha curvatura. De uma forma ou de outra, é esse o caso até agora. Um exemplo do que está na imagem na tampa demorou cerca de 10 minutos e contém um pouco mais de 400 hexágonos. Aqueles. aproximadamente 1,5 segundos por objeto. Se houver avarias no processo, aumenta o tempo de repintura. Imediatamente após o lançamento, o script estimará quanto tempo levará e relatará. Mas não será mais possível recusar (por enquanto).
A segunda mosca na sopa, mas apenas por proprietários de computadores Windows - seu processo parecerá como se o ilustrador estivesse congelado (escreverá "não está respondendo"). O Photoshop provavelmente piscará o fundo para repintar) Mas, para entender tudo mal ou ele apenas finge, adicionei uma indicação sonora - um bip do sistema a cada 10 objetos repintados. Se você ouvir este bipe (verifique se o som está ligado), o script está funcionando, basta aguardar. O próprio computador não trava, você pode abrir o navegador)
E os produtores de papoula poderão observar o processo de repintura em tempo real, objeto por objeto.

Mais algumas palavras gerais:
A cor do preenchimento não é obtida de um ponto, mas a média de uma área com um tamanho ligeiramente menor que o tamanho da caixa delimitadora do objeto repintado.
Os objetos a pintar e o fundo não precisam estar dentro da prancheta, não importa. Enquanto o script está sendo executado, o tamanho da prancheta será ajustado para caber em tudo o que for visível do fundo e dos objetos de destino e, após a conclusão, será retornado ao seu lugar. Portanto, se o objeto de destino não estiver em uma parte do fundo e fora da prancheta, provavelmente será pintado de branco, a menos que esteja ligeiramente poluído pelo fundo próximo devido às peculiaridades de escolher a cor do meio (ponto acima) .

O link abaixo é o próprio script e um caso de teste simples. Melhor começar com ele.
Link:https://yadi.sk/d/aGnOBIkymiPbX
O teste beta acabou, graças a todos que o experimentaram!
Com testadores ativos, continuaremos no modo privado estabelecido.

Esta é uma versão beta, haverá alguma melhoria e características adicionais depende se alguém encontra bugs e apresenta novos recursos)
A ideia do roteiro me foi dada pela art_of_sun, pelo qual muito obrigado a ela! Se mais alguém tiver alguma ideia - seja bem-vindo!

O brinquedo é útil? Pixilezators são diferentes e já foram feitos sem mim, mas talvez possa ser usado de alguma forma mais interessante? Ou não? Quem pensa o quê, fala)

um objeto . Nome do botão btn.cvet). Vamos criar um script para o quadro-chave:

var cvet: ColorTransform = rol.transform.colorTransform; btn.cvet.addEventListener (MouseEvent.CLICK, f); função f (evento: MouseEvent): void (cvet.color = 0x0000ff; rol.transform.colorTransform = cvet)

Alterações no script podem ser feitas nos seguintes fragmentos destacados em vermelho: o nome do vídeo (rol), os botões (btn.cvet), a variável (cvet), a função (f) e o valor da cor (0000ff) .

Vamos analisar o trabalho do script acima:

  • O filme rol (como todos os símbolos) tem uma propriedade transform que contém informações sobre várias transformações aplicado ao objeto (como transformações geométricas, ajustes de cores). Para aplicar transformações associadas à definição da cor de um objeto, use a propriedade colorTransform.
  • A variável cvet recém-criada obtém o valor das propriedades rol associadas às configurações de cor.
  • Mudamos o valor da cor da propriedade color para um novo:

    0000ff - representação de cor hexadecimal no formato RGB: as cores vermelha, verde e azul são especificadas como números de dois dígitos em código hexadecimal (em código hexadecimal, números arábicos 0-9 são usados ​​e letras latinas a, b, c, d, e , f, atuando como análogos dos números 10, 11, 12, 13, 14 e 15). A cor final de um objeto é obtida pela mistura de três cores nas proporções especificadas.

  • Atualize a propriedade colorTransform do objeto rol (faça a correção de cores).

Trabalho prático nº 1

Vamos criar um vídeo em cena (um objeto para colorir - denominado rol) e 2 botões (btn.cvet1 e btn.cvet2), simbolizando 2 cores na paleta de cores. Pressionar cada botão colore o vídeo com a cor atribuída ao botão. Aparência os botões devem falar sobre sua finalidade (por exemplo, a cor dos botões corresponde à cor do objeto que está sendo pintado).

No script, você precisa criar uma variável para ler a cor do objeto e definir uma das duas cores para ele, dependendo do botão pressionado:

var cvet: ColorTransform = rol.transform.colorTransform; btn.cvet1.addEventListener (MouseEvent.CLICK, f1); função f1 (evento: MouseEvent): void (cvet.color = 0x0000ff; rol.transform.colorTransform = cvet;) btn.cvet2.addEventListener (MouseEvent.CLICK, f2); função f2 (evento: MouseEvent): void (cvet.color = 0x00ff00; rol.transform.colorTransform = cvet;)

Trabalho prático nº 2

Vamos criar 2 botões no palco (objetos para colorir - com os nomes rol1, rol2) e 2 botões (simbolizando 2 cores na paleta de cores - com os nomes btn.cvet1 e btn.cvet2). Pressionando o botão da paleta de cores - seleção de cores; clicar nos botões-objetos para colorir resulta em colori-los na cor previamente selecionada. A aparência dos botões na paleta de cores deve indicar sua finalidade.

Para pintar um objeto, você precisa seguir 2 etapas:

  • escolha uma cor;
  • selecione um objeto a ser pintado na cor selecionada.

    var cvet: ColorTransform = rol1.transform.colorTransform; btn.cvet1.addEventListener (MouseEvent.CLICK, f1); função f1 (evento: MouseEvent): void (cvet.color = 0x0000ff;) btn.cvet2.addEventListener (MouseEvent.CLICK, f2); função f2 (evento: MouseEvent): void (cvet.color = 0x00ff00;) rol1.addEventListener (MouseEvent.CLICK, f3); função f3 (evento: MouseEvent): void (rol1.transform.colorTransform = cvet;) rol2.addEventListener (MouseEvent.CLICK, f4); função f4 (evento: MouseEvent): void (rol2.transform.colorTransform = cvet;)

Colorir objetos sem analisar a cor de vários objetos, via de regra, não faz sentido. Ao criar um aplicativo que usa a coloração de objetos como ferramenta de seleção deste objeto, é necessário analisar as cores recebidas pelos objetos no processo de trabalho. Existir Programas analisando a cor do objeto.

Consideraremos um exemplo de tarefa em que a análise de cores é realizada "lembrando" a cor selecionada para colorir uma figura (e não "analisando" a cor de uma figura já pintada).

Digamos que você precise marcar quadrados, triângulos e losangos a partir de um conjunto de formas geométricas: pintar quadrados com uma cor, triângulos com outra, etc.


Arroz. 22.1. Interface do aplicativo de análise de cores

O script declara variáveis ​​como Número:

  • c (para armazenar informações sobre a cor selecionada),
  • fla.1, fla.2, fla.3 (para armazenar informações sobre a cor recebida por cada círculo).

O botão "Verificar" (seu nome é pr) e um campo de texto dinâmico (ttt), que exibe informações sobre a cor correta / incorreta dos círculos, são colocados no palco.

No caso de coloração correta de todas as formas (a expressão lógica no comando de ramificação seráverdadeira quando todas as três simples expressões lógicas- o primeiro e (&&) segundo e (&&) terceiro) para a propriedade de texto da dinâmica caixa de texto ttt recebe o valor "verno", caso contrário - "ne verno":

… Pr.addEventListener (MouseEvent.CLICK, f7); função f7 (event: MouseEvent): void (if ((fla.1 == 1) && (fla.2 == 2) && (fla.3 == 3)) (ttt.text = "verno";) else (ttt.text = "ne verno";))

Breve resumo da palestra:

Um símbolo tem uma propriedade de transformação que contém informações sobre as várias transformações aplicadas ao objeto (como transformações geométricas, ajustes de cores). Para aplicar transformações associadas à definição da cor de um objeto, use a propriedade colorTransform.

Pessoalmente, usei esse script ao criar meu novo plugin para solicitar uma chamada. Esta paleta ajuda o usuário a escolher a cor do botão e do formulário de pedido. Por muito tempo eu tenho escolhido o roteiro que você quer e para mim este é um dos melhores. Além disso, como eu disse, é fácil de implantar. Um exemplo do que você obtém como resultado pode ser visto no exemplo abaixo. Use o cursor para selecionar uma cor nas caixas de gradiente.

Para fazer essa paleta, você precisa realizar 4 etapas. Vamos começar em ordem com a marcação Html... Você precisa adicioná-lo onde deseja ver a própria paleta.

Bloco principal principal com ID - selecionador de cores... Ele contém três blocos principais, que dentro têm elementos filhos, que cria a estrutura da nossa paleta. Vamos dividi-los em ordem, em relação à imagem abaixo.

  1. Bloco de identificação picker-wrapper- este é o primeiro bloco. Responsável por exibir um quadrado com gradiente de uma cor para selecionar sua tonalidade. Dentro dele está um bloco com o próprio gradiente e um bloco que é responsável pelo ponteiro.
  2. Bloco de identificação invólucro pcr- o segundo bloco é responsável pelo bloco, que exibe todas as cores na forma de um gradiente. Dentro está um bloco com um gradiente e um bloco que exibe um controle deslizante que se move para cima e para baixo.
  3. Lista UL com ID valores de cor- Existem vários pontos dentro dela. Os três primeiros, no diagrama, são numerados - 3. Eles exibem códigos de cores em três formatos - RGB, HSV, HEX.
  4. O bloco da imagem, com o número 4, é um dos elementos da lista anterior. Este é o último ponto li. Dentro dele está um bloco com ID pcr_bg... Este bloco produz a cor atualmente selecionada.

Você pode, dependendo de suas necessidades, trocar de lugar ou até mesmo remover aqueles elementos que não são necessários. Quando terminarmos completamente a instalação da paleta, você será capaz de descobrir com mais detalhes por si mesmo e determinar como alterar este ou aquele elemento da paleta.

O segundo passo na configuração da paleta é adicionar estilos CSS... Você os adiciona, como de costume, ao arquivo de estilo do seu site, ou do elemento ao qual você conecta esta paleta de cores.

# color-picker (margin: 25px auto; width: 450px;) # color-values ​​(display: block; list-style: none; color: # 222; float: left; margin: 0 0 0 15px; padding: 5px; text-align: left;) #pcr_bg (height: 135px;) .picker-wrapper, .pcr-wrapper (position: relative; float: left;) .picker-indicator, .pcr-indicator (position: absoluto; left: 0; top: 0;) .picker, .pcr (cursor: crosshair; float: left;) .cp-default .picker (largura: 200px; altura: 200px;) .cp-default .pcr (largura: 30px ; altura: 200px;) .cp-default .pcr-wrapper (margin-left: 10px;) .cp-default .picker-indicator (largura: 5px; altura: 5px; border: 2px solid darkblue; -moz-border- radius: 4px; -o-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; opacidade: .5; -ms-filter: "progid: DXImageTransform.Microsoft.Alpha (Opacity = 50 ) "; filtro: progid: DXImageTransform.Microsoft.Alpha (Opacidade = 50); filtro: alfa (opacidade = 50); cor de fundo: branco;) .cp-default .pcr-indicador (largura: 100%; altura: 10px; lef t: -4px; opacidade: 0,6; -ms-filter: "progid: DXImageTransform.Microsoft.Alpha (Opacity = 60)"; filtro: progid: DXImageTransform.Microsoft.Alpha (Opacity = 60); filtro: alfa (opacidade = 60); borda: 4px azul claro sólido; -moz-border-radius: 4px; -o-border-radius: 4px; -webkit-border-radius: 4px; raio da borda: 4px; cor de fundo: branco; )

Não vou pintar em CSS. Como eu disse, é improvável que a paleta seja definida por um iniciante, mas um experiente com CSS é familiar. Acho que você pode descobrir qual parâmetro é responsável por quê. Vamos passar para a próxima etapa.

O terceiro ponto que você deve fazer é conectar o arquivo, que contém o script da própria paleta de cores. O próprio arquivo estará no arquivo com as fontes para este artigo. Você pode baixá-lo usando o link abaixo.

O arquivo é chamado colorpicker.min.js... Conecte-o no cabeçalho ou rodapé do site se for exibir a paleta no site. Se em algum módulo, plugin, etc., então é aqui que você inclui o resto dos scripts. Naturalmente, forneça o caminho correto para o arquivo.

Bem, a última etapa é conectar um script que controlará a saída dos valores da paleta, bem, e iniciar seu trabalho como tal. É melhor incluir o script logo após o bloco da paleta com HTML.

Existem várias coisas que você pode personalizar no script. Vamos decompô-los. O que pode ser alterado começa na 9ª linha.

  • 9ª linha - para o bloco com ID - hex, um valor de cor hexadecimal é atribuído. Ou seja, na lista, que está na foto acima no número 3, a primeira linha. Assim, você pode atribuir um código de cor a qualquer bloco para exibi-lo.
  • 10ª linha - para o bloco com ID - rgb, atribui um valor no formato rgb. Tudo é semelhante ao ponto anterior.
  • 11ª linha - para o bloco com ID - hsv, atribui um valor no formato hsv.
  • 13ª linha - bloco com ID - pcr_bg, o estilo é atribuído na forma de um plano de fundo correspondente ao formato hexadecimal. Quer dizer, o quadrado que mostra a cor atual. De forma semelhante, você pode exibir a cor da paleta, por exemplo, para o fundo do site de um determinado bloco, etc.
  • A 15ª, última linha, define a cor padrão. Você pode inserir o seu próprio, em formato hexadecimal.

Esta é essencialmente toda a conexão da paleta de cores. Como eu disse no início, este artigo pode não ajudar um iniciante, ele é projetado para webmasters mais experientes. Espero que ajude você.

Só isso, obrigado pela atenção. 🙂

Acho que este bloco será muito útil, principalmente para os casos em que você precisa incorporá-lo ao seu site. Este bloco Seletor de cores funciona usando Javascript. Então, vamos dar uma olhada em como adicioná-lo ao seu site e o que torna este plugin jQuery tão especial.

Trabalhando com código

Em primeiro lugar, precisamos conectar Javascript e Arquivo CSS NS. Não se esqueça de editar o arquivo CSS e corrigir os caminhos das imagens (se necessário) para corresponder ao tema do seu site.

XHTML

Configurações de plug-in

Configurações personalizadas do plug-in (opcional).

  • eventName - o evento desejado para chamar a função de seleção de cores, padrão: “click”.
  • color - cor padrão. String para cor HEX ou hash para RGB e HSB ((r: 255, r: 0, b: 0)), padrão: “FF0000 ″.
  • flat - exibe o bloco de seleção de cor imediatamente ou apenas com um clique, o valor padrão é false.
  • livePreview - verdadeiro por padrão.
  • onShow - A função de retorno de chamada é acionada quando o seletor de cores é mostrado.
  • onBeforeShow - A função de retorno de chamada é acionada antes que o seletor de cores seja mostrado.
  • onHide - A função de retorno de chamada é acionada quando o seletor de cores está oculto.
  • onChange - A função de retorno de chamada é acionada quando a cor muda.
  • onSubmit - a função de retorno de chamada é acionada quando selecionamos uma cor.

Espero que tenha gostado deste plugin. Desejo-lhe sucesso e desenvolvimento do seu site!

Esta lição foi preparada para você pela equipe do local
Fonte da aula: http://www.eyecon.ro/colorpicker/
Traduzido por: Vladislav Bondarenko