Pular para o conteúdo
murad.guide

Programação Criativa

Capítulo 4

Texto grupos e transform

2 min de leitura 403 palavras 1 gravura

O grupo g aplica transform a vários filhos. Texto no SVG usa coordenadas tipográficas.

Trabalhe sobre uma cópia da pasta inicio do exemplo correspondente. Leia, digite, mude uma coisa, preveja, recarregue e confira. A referência completa fica na raiz da pasta do exemplo, no pacote anexo.

O que você pratica

Texto grupos e transform

Ver o selo

O selo “Luz · Recife” está inclinado porque o grupo rotaciona.

Erro comum: rotacionar sem transform-origin mental — o pivô padrão é a origem 0,0 do grupo.

Inclinar

No inicio o rotate começa em 0. Coloque -12 ou outro ângulo.

<g id="selo" transform="translate(160,80) rotate(-12)">

Pare e experimente. Preveja a inclinação.

Organizar camadas

Grupos ajudam a mover o selo inteiro sem editar cada filho.

Não publique exercícios com dados reais. Conteúdo fictício de Recife.

Como o exemplo desta etapa funciona

A referência desta etapa reúne index.html, styles.css. Abra o resultado pronto, localize o trecho que produz texto grupos e transform e só então compare com inicio. Os dois diretórios são independentes: você pode errar, restaurar e repetir sem buscar arquivos de outro capítulo.

Leitura do resultado

Observe primeiro o que permanece parado e o que responde a uma ação. Depois altere um único número, cor, coordenada ou condição. Antes de recarregar, escreva o efeito esperado. Essa previsão separa uma mudança compreendida de uma tentativa ao acaso.

Diagnóstico guiado

Se a cena sumir, confira a primeira mensagem do Console e o caminho dos arquivos. Em SVG, revise viewBox, atributos e ordem das formas. Em p5.js, confirme a biblioteca local e se setup e draw foram escritos corretamente. Em Canvas ou WebGL, verifique o contexto e os limites numéricos antes de mudar outra coisa.

Critério de avanço

Avance quando conseguir descrever a cena, modificar um parâmetro com previsão e restaurar a referência sem copiar arquivos de uma etapa posterior.

Atividades

  1. g agrupa o quê?
  2. Ordem translate/rotate importa?
  3. Como centralizar o texto no retângulo?

Respostas comentadas

Só abra depois de tentar.

Atividade 1. Elementos filhos sob o mesmo transform.

Atividade 2. Sim — a ordem muda o resultado.

Atividade 3. text-anchor="middle" e x no centro do retângulo.

Exemplo deste capítulo: pacote de exemplos/04-texto-grupos/.

O arquivo completo

Referência do exemplo 04-texto-grupos, reproduzida aqui para que você possa conferir sem sair da página.

index.html

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Texto e grupos — Laboratório da Luz</title>
  <link rel="stylesheet" href="styles.css">

</head>
<body>
  <a class="skip" href="#conteudo">Ir ao conteúdo</a>
  <header>
    <p class="tag">Laboratório da Luz · Recife</p>
    <h1>Texto e grupos</h1>
  </header>
  <main id="conteudo">
<p class="dica">O grupo <code>g</code> aplica transform em tudo dentro.</p>
<div class="stage"><svg width="520" height="300" viewBox="0 0 520 300">
  <rect width="520" height="300" fill="#f4f0e8"/>
  <g id="selo" transform="translate(160,80) rotate(-12)">
    <rect x="0" y="0" width="200" height="100" rx="12" fill="#1b6b6e"/>
    <text x="100" y="58" text-anchor="middle" fill="#fff" font-size="22" font-family="Segoe UI, Arial">Luz · Recife</text>
  </g>
</svg></div>
  </main>
  <footer>
    <p>Conteúdo fictício para estudo local. Não publique dados reais.</p>
  </footer>

</body>
</html>