A Pen by Mateus Schverz on CodePen.
Created
April 14, 2023 16:43
-
-
Save matefs/0e8833ac32c5b7f50ee48d7b3c8d667d to your computer and use it in GitHub Desktop.
Minha assinatura digital
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.3.5/axios.min.js" integrity="sha512-nnNHpffPSgINrsR8ZAIgFUIMexORL5tPwsfktOTxVYSv+AUAILuFYWES8IHl+hhIhpFGlKvWFiz9ZEusrPcSBQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<body> | |
<h1 class="text-4xl"> | |
Minha assinatura digital | |
</h1> | |
<div> | |
<canvas id="myCanvas" width="600" height="200"></canvas> | |
</div> | |
<div id="form"> | |
<input type="text" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 w-72 block text-gray-900 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 " placeholder="https://api-endpoint.com" required> | |
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded" onclick="transformCanvasIntoImage()" placeholder="https://seu-endpoint-aqui.com">Enviar Imagem</button> | |
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded" | |
onclick="sendConvertedImageToEndpoint()"> Apagar desenho</button> | |
</div> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Obtenha o elemento do canvas | |
var canvas = document.getElementById("myCanvas"); | |
function addContextAndEvents() { | |
// Obtenha o contexto 2D do canvas | |
var ctx = canvas.getContext("2d"); | |
// Defina a cor de desenho padrão | |
ctx.strokeStyle = "black"; | |
// Defina a largura da linha padrão | |
ctx.lineWidth = 5; | |
// Variáveis para armazenar a posição anterior do mouse | |
var lastX, lastY; | |
// Flag para indicar se o mouse está pressionado | |
var isMouseDown = false; | |
// Event listener para quando o mouse é pressionado | |
canvas.addEventListener("mousedown", function(e) { | |
// Obtenha as coordenadas do mouse | |
lastX = e.clientX - canvas.offsetLeft; | |
lastY = e.clientY - canvas.offsetTop; | |
// Comece um novo caminho // Defina que o mouse está pressionado | |
isMouseDown = true; | |
}); | |
// Event listener para quando o mouse é movido | |
canvas.addEventListener("mousemove", function(e) { | |
// Verifique se o mouse está pressionado | |
if (isMouseDown) { | |
// Obtenha as coordenadas do mouse | |
var x = e.clientX - canvas.offsetLeft; | |
var y = e.clientY - canvas.offsetTop; | |
// Desenhe uma linha do ponto anterior para o ponto atual | |
ctx.moveTo(lastX, lastY); | |
ctx.lineTo(x-0.5, y+1); | |
ctx.lineCap = "round"; | |
ctx.stroke(); | |
// Armazene as novas coordenadas do mouse | |
lastX = x; | |
lastY = y; | |
} | |
}); | |
// Event listener para quando o mouse é solto | |
canvas.addEventListener("mouseup", function() { | |
// Defina que o mouse não está pressionado | |
isMouseDown = false; | |
}); | |
// Event listener para quando o mouse sai do canvas | |
canvas.addEventListener("mouseout", function() { | |
// Defina que o mouse não está pressionado | |
isMouseDown = false; | |
}); | |
} | |
addContextAndEvents() | |
function transformCanvasIntoImage() { | |
var dataURL = canvas.toDataURL(); | |
console.log(dataURL) | |
} | |
function sendConvertedImageToEndpoint(){ | |
transformCanvasIntoImage(); | |
axios.get('https://mateus.requestcatcher.com') | |
.then( (e) => console.log(e)) | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
canvas { | |
border: 1px solid black; | |
background-color:transparent; | |
} | |
div{ | |
display:flex; | |
align-content:center; | |
justify-content:center; | |
} | |
body{ | |
text-align:center; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment