Images convert into webp drag and drop

Here is an example of how you can convert a JPG, PNG, GIF, or ICO image to the WEBP format using JavaScript and the canvas element:

// Select the file input element

const fileInput = document.querySelector('#fileInput');

// Select the convert button

const convertButton = document.querySelector('#convertButton');

// Select the download link element

const downloadLink = document.querySelector('#downloadLink');

// Add an event listener to the convert button

convertButton.addEventListener('click', () => {

  // Get the file from the file input element

  const file = fileInput.files[0];

  // Create a new FileReader

  const reader = new FileReader();

  // Add an event listener for when the file has finished loading

  reader.addEventListener('load', () => {

    // Get the data URL of the file

    const dataURL = reader.result;

    // Create an image element

    const image = new Image();

    // Set the src of the image to the data URL

    image.src = dataURL;

    // Add an event listener for when the image has finished loading

    image.addEventListener('load', () => {

      // Get the canvas element

      const canvas = document.querySelector('#canvas');

      // Set the width and height of the canvas to the width and height of the image

      canvas.width = image.width;

      canvas.height = image.height;

      // Get the context of the canvas

      const ctx = canvas.getContext('2d');

      // Draw the image on the canvas

      ctx.drawImage(image, 0, 0);

      // Get the data URL of the canvas

      const convertedDataURL = canvas.toDataURL('image/webp');

      // Set the href of the download link to the converted data URL

      downloadLink.href = convertedDataURL;

      // Enable the download link




  // Read the file as a data URL



This code assumes that you have an HTML page with the following elements:

<input type="file" id="fileInput" /> <button id="convertButton">Convert to WEBP</button> <a id="downloadLink" disabled>Download WEBP</a> <canvas id="canvas"></canvas>

To convert multiple images at once, you can modify the code to loop through an array of files and convert them one by one. You could also use a file drop area or drag and drop functionality to allow the user to select and convert multiple images at once. 

No comments:

Post a Comment

Note: only a member of this blog may post a comment.