Abre uma janela auxiliar, ajusta a sobreposição manualmente e grava a imagem final na simulação.
simulador.php -> abrirCanvas() -> paginas/simulador/canvas.php?id={id}
canvas.php -> usuário ajusta overlay -> POST salvar_canvas.php
salvar_canvas.php -> UPDATE simulacoes_protese.imagem_simulada
| Arquivo | Papel dentro do fluxo |
|---|---|
sistema/painel/paginas/simulador.php | Origem do botão “Abrir Canvas”. |
sistema/painel/paginas/simulador/canvas.php | Tela auxiliar de edição com controles JS/Canvas. |
sistema/painel/paginas/simulador/salvar_canvas.php | Recebe imagem base64, grava PNG e atualiza o banco. |
| Etapa | O que acontece |
|---|---|
| 1. Origem | Na tela principal, `abrirCanvas()` valida se existe `id` e abre `canvas.php?id=...` em nova aba. |
| 2. Preparação | `canvas.php` busca a simulação, carrega foto original, prótese e imagem simulada atual quando existir. |
| 3. Edição visual | No navegador, o usuário reposiciona a sobreposição da prótese, escala, gira e ajusta opacidade diretamente no `<canvas>`. |
| 4. Captura final | Ao clicar em “Salvar”, o JS executa `canvas.toDataURL('image/png')` e produz a imagem final em base64. |
| 5. Envio HTTP | Um `XMLHttpRequest` faz POST para `salvar_canvas.php` com `id` e `img`. |
| 6. Persistência | `salvar_canvas.php` valida pasta, decodifica o base64, grava o PNG e atualiza `simulacoes_protese.imagem_simulada`. |
| 7. Limpeza de estado | Quando já existe uma imagem simulada anterior, o backend pode sobrescrever a referência e o novo arquivo vira o resultado oficial da simulação. |
| Entrada | Origem/uso |
|---|---|
id | ID da simulação |
img | PNG base64 gerado no navegador |
| Saída | Destino |
|---|---|
Arquivo PNG | Versão final de ajuste manual |
Texto | `Salvo com Sucesso` ou mensagem de erro |
Use estes links quando já souber qual arquivo do fluxo precisa ser alterado e quiser leitura minuciosa do código.