Home Web Front-end JS Tutorial Implement image cropping function based on JavaScript

Implement image cropping function based on JavaScript

Aug 09, 2023 pm 05:52 PM
Function realization javascript implementation Picture cropping

Implement image cropping function based on JavaScript

Image cropping function based on JavaScript

With the development of the Internet, pictures have become more and more important in our lives. In web development, we often encounter the need to crop images. This article will implement a simple image cropping function through JavaScript and attach a code example.

1. Technical preparation
Before implementing the image cropping function, we need to prepare the following technologies:

  1. HTML: used to build the page structure.
  2. CSS: used to beautify the page style.
  3. JavaScript: used to implement the image cropping function.
  4. Canvas: used to display images on the page and perform cropping operations.

2. Page layout
First, we need to build a page structure to display pictures and add control buttons for cropping functions. The following is a simple sample code:

<!DOCTYPE html>
<html>
  <head>
    <title>图片剪裁功能</title>
    <style>
      #container {
        width: 800px;
        margin: 0 auto;
        text-align: center;
      }
      canvas {
        border: 1px solid #000;
        margin-bottom: 20px;
      }
      button {
        padding: 10px;
        margin: 10px;
        font-size: 14px;
      }
    </style>
  </head>
  <body>
    <div id="container">
      <canvas id="imageCanvas" width="600" height="400"></canvas>
      <button onclick="loadImage()">上传图片</button>
      <button onclick="cropImage()">剪裁图片</button>
    </div>
    <script src="script.js"></script>
  </body>
</html>
Copy after login

In this sample code, we create a container (<div id="container">) to contain images and controls button. The image is displayed through the <canvas> tag (<canvas id="imageCanvas">), and we added a ID to facilitate subsequent JavaScript code operations. 3. JavaScript to implement image cropping function

Next, we need to implement the image uploading and cropping function through JavaScript. The following is a simple sample code:

const imageCanvas = document.getElementById('imageCanvas');
const ctx = imageCanvas.getContext('2d');
let image = null;

function loadImage() {
  const input = document.createElement('input');
  input.type = 'file';
  input.accept = 'image/*';
  input.onchange = function(event) {
    const file = event.target.files[0];
    const reader = new FileReader();
    reader.onload = function(e) {
      const img = new Image();
      img.onload = function() {
        ctx.clearRect(0, 0, imageCanvas.width, imageCanvas.height);
        ctx.drawImage(img, 0, 0, imageCanvas.width, imageCanvas.height);
        image = img;
      };
      img.src = e.target.result;
    };
    reader.readAsDataURL(file);
  };
  input.click();
}

function cropImage() {
  if (image) {
    const cropCanvas = document.createElement('canvas');
    const cropCtx = cropCanvas.getContext('2d');
    cropCanvas.width = 400;
    cropCanvas.height = 400;
    cropCtx.drawImage(image, 0, 0, cropCanvas.width, cropCanvas.height);
    const croppedImage = cropCanvas.toDataURL('image/jpeg');
    window.open(croppedImage);
  } else {
    alert('请先上传图片');
  }
}
Copy after login

In this sample code, we obtain the <canvas>

element through document.getElementById('imageCanvas') , and obtain the context object for drawing 2D graphics through imageCanvas.getContext('2d').

loadImage()

function is used to upload images. It is obtained by creating an <input> element, setting its type to file (input.type = 'file'), and listening for the onchange event Image files uploaded by users. Then read the image file uploaded by the user through FileReader and convert it into a URL (reader.readAsDataURL(file)). Then create an <image></image> element, and set its src to the URL just obtained, and then draw this <image></image> element to <canvas>Up.

cropImage()

function is used to crop images. It first determines whether the user has uploaded an image. If an image has been uploaded, we create a new <canvas> element and set the width and height of that element (in this example, we set the width and height to 400). Then draw the original image to the new <canvas> through the drawImage() method, and convert the cropped image into URL. Finally, open a new window to display the cropped image through window.open(). 4. Effect displayOpen the HTML file you just created in the browser, click the "Upload Image" button, and select an image to upload. After that, click the "Crop Image" button and the cropped image will be displayed in a new window.

Through the above steps, we have successfully implemented a simple JavaScript-based image cropping function. You can adjust and expand this function according to your own needs to make it more suitable for actual development needs.

The above is the detailed content of Implement image cropping function based on JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement image preview function in uniapp How to implement image preview function in uniapp Jul 04, 2023 am 10:36 AM

How to implement image preview function in uni-app Introduction: In mobile application development, image preview is a commonly used function. In uni-app, we can implement the image preview function by using uni-ui plug-ins or custom components. This article will introduce how to implement the image preview function in uni-app, with code examples. 1. Use the uni-ui plug-in to implement the image preview function. uni-ui is a component library based on Vue.js developed by DCloud, which provides a rich UI group.

Implementation of pie chart and radar chart functions in Vue statistical charts Implementation of pie chart and radar chart functions in Vue statistical charts Aug 18, 2023 pm 12:28 PM

Implementation of the pie chart and radar chart functions of Vue statistical charts Introduction: With the development of the Internet, the demand for data analysis and chart display is becoming more and more urgent. As a popular JavaScript framework, Vue provides a wealth of data visualization plug-ins and components to facilitate developers to quickly implement various statistical charts. This article will introduce how to use Vue to implement the functions of pie charts and radar charts, and provide relevant code examples. Introducing statistical chart plug-ins In Vue development, we can use some excellent statistical chart plug-ins to help us implement

WeChat applet implements image upload function WeChat applet implements image upload function Nov 21, 2023 am 09:08 AM

WeChat applet implements picture upload function With the development of mobile Internet, WeChat applet has become an indispensable part of people's lives. WeChat mini programs not only provide a wealth of application scenarios, but also support developer-defined functions, including image upload functions. This article will introduce how to implement the image upload function in the WeChat applet and provide specific code examples. 1. Preparatory work Before starting to write code, we need to download and install the WeChat developer tools and register as a WeChat developer. At the same time, you also need to understand WeChat

How to use Laravel to implement user rights management functions How to use Laravel to implement user rights management functions Nov 02, 2023 pm 02:09 PM

How to use Laravel to implement user rights management functions With the development of web applications, user rights management has become more and more important in many projects. Laravel, as a popular PHP framework, provides many powerful tools and functions for handling user rights management. This article will introduce how to use Laravel to implement user rights management functions and provide specific code examples. Database design First, we need to design a database model to store the relationship between users, roles and permissions. To make things easier we will make

PHP implements speech recognition function PHP implements speech recognition function Jun 22, 2023 am 08:59 AM

PHP implements speech recognition function Speech recognition is a technology that converts speech signals into corresponding text or commands. It is widely used in the modern information age. As a commonly used Web programming language, PHP can also implement speech recognition functions in a variety of ways, such as using open source tool libraries or API interfaces. This article will introduce the basic methods of using PHP to implement speech recognition, and also provide several commonly used tool libraries and API interfaces to facilitate readers to choose appropriate solutions in actual development. 1. Basics of PHP speech recognition

Implementation of area chart and scatter chart functions of Vue statistical chart Implementation of area chart and scatter chart functions of Vue statistical chart Aug 20, 2023 am 11:58 AM

The area chart and scatter chart functions of Vue statistical charts are implemented. With the continuous development of data visualization technology, statistical charts play an important role in data analysis and display. Under the Vue framework, we can use the existing chart library and combine it with Vue's two-way data binding and componentization features to easily implement the functions of area charts and scatter charts. This article will introduce how to use Vue and commonly used chart libraries to implement these two statistical charts. Implementation of area charts Area charts are often used to show the trend of data changes over time. In Vue, we can use v

Tips and methods for using CSS to achieve special effects for image display Tips and methods for using CSS to achieve special effects for image display Oct 24, 2023 pm 12:52 PM

Tips and methods for using CSS to achieve special effects for image display. Whether it is web design or application development, image display is a very common requirement. In order to improve the user experience, we can use CSS to achieve some cool image display effects. This article will introduce several commonly used techniques and methods, and provide corresponding code examples to help readers get started quickly. 1. Picture zoom special effects Zoom mouse hover effect When the mouse is hovering over the picture, the interactivity can be increased through the zoom effect. The code example is as follows: .image-zoom{

Implementation of ranking and comparison functions of Vue statistical charts Implementation of ranking and comparison functions of Vue statistical charts Aug 26, 2023 am 09:45 AM

The ranking and comparison functions of Vue statistical charts are implemented in the field of data visualization. Statistical charts are an intuitive and clear way to display data. As a popular front-end framework, Vue provides a wealth of tools and components to implement various charts. This article will introduce how to use Vue to implement the ranking and comparison functions of statistical charts. Before starting, we need to install Vue and related chart libraries. We will use Chart.js as the charting library, which provides rich chart types and interactive functions. C can be installed via the following command

See all articles