Advertisement
MizunoBrasil

Gera Mosaico de 4 imagens

Jun 4th, 2024
474
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="pt-br">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
  7.  
  8.     <title>Mosaico de Imagens</title>
  9.     <style>
  10.         body {
  11.             display: flex;
  12.             flex-direction: column;
  13.             align-items: center;
  14.             height: 100vh;
  15.             margin: 0;
  16.             background-color: #f4f4f4;
  17.         }
  18.  
  19.         #mosaic-container {
  20.             display: grid;
  21.             grid-template-rows: repeat(2, 1fr);
  22.             grid-template-columns: repeat(2, 1fr);
  23.             gap: 10px;
  24.             max-width: 600px;
  25.             margin: auto;
  26.         }
  27.  
  28.         .mosaic-image {
  29.             width: 100%;
  30.             height: 100%;
  31.             object-fit: cover;
  32.             border-radius: 8px;
  33.         }
  34.  
  35.         #download-btn {
  36.             margin-top: 20px;
  37.             padding: 10px;
  38.             background-color: #4caf50;
  39.             color: white;
  40.             border: none;
  41.             border-radius: 5px;
  42.             cursor: pointer;
  43.         }
  44.     </style>
  45.     <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
  46. </head>
  47. <body>
  48. <br><br><br><br>
  49.     <form id="imageForm">
  50.         <label for="image1">Imagem 1:</label>
  51.         <input type="file" id="image1" accept="image/*"><br><br>
  52.  
  53.         <label for="image2">Imagem 2:</label>
  54.         <input type="file" id="image2" accept="image/*"><br><br>
  55.  
  56.         <label for="image3">Imagem 3:</label>
  57.         <input type="file" id="image3" accept="image/*"><br><br>
  58.  
  59.         <label for="image4">Imagem 4:</label>
  60.         <input type="file" id="image4" accept="image/*"><br><br>
  61.  
  62.         <button type="button" onclick="updateMosaic()">Atualizar Mosaico</button>
  63.     </form>
  64.  
  65.     <div id="mosaic-container">
  66.         <!-- As imagens serão adicionadas dinamicamente aqui -->
  67.     </div>
  68.  
  69.     <button id="download-btn" onclick="downloadMosaic()">Baixar Mosaico</button>
  70.  
  71.     <script>
  72.         function updateMosaic() {
  73.             const image1 = document.getElementById("image1").files[0];
  74.             const image2 = document.getElementById("image2").files[0];
  75.             const image3 = document.getElementById("image3").files[0];
  76.             const image4 = document.getElementById("image4").files[0];
  77.  
  78.             const mosaicContainer = document.getElementById("mosaic-container");
  79.             mosaicContainer.innerHTML = ""; // Limpa qualquer imagem existente
  80.  
  81.             if (image1 && image2 && image3 && image4) {
  82.                 const images = [image1, image2, image3, image4];
  83.  
  84.                 images.forEach((image, index) => {
  85.                     const imgElement = document.createElement("img");
  86.                     imgElement.classList.add("mosaic-image");
  87.                     imgElement.src = URL.createObjectURL(image);
  88.                     imgElement.alt = `Imagem ${index + 1}`;
  89.                     mosaicContainer.appendChild(imgElement);
  90.                 });
  91.             } else {
  92.                 alert("Por favor, selecione todas as imagens.");
  93.             }
  94.         }
  95.  
  96.         function downloadMosaic() {
  97.             const mosaicContainer = document.getElementById("mosaic-container");
  98.  
  99.             html2canvas(mosaicContainer).then(canvas => {
  100.                 const link = document.createElement("a");
  101.                 link.href = canvas.toDataURL("image/png");
  102.                 link.download = "mosaic.png";
  103.                 link.click();
  104.             });
  105.         }
  106.     </script>
  107. </body>
  108. </html>
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement