Wednesday, May 27, 2026
HomeLanguagesjQuery Jcrop Plugin

jQuery Jcrop Plugin

In this article, we will learn how to crop an image using PHP and jQuery Jcrop plugin.

Note: Please download the jQuery Jcrop plugin and include the required files in the head section of your HTML code.

<link href=”jquery.Jcrop.min.css” rel=”stylesheet” type=”text/css”/>
<script src=”jquery.min.js”></script>
<script src=”jquery.Jcrop.min.js”></script>

Example: The following HTML code demonstrates the Jcrop plugin by taking an image file and giving a “Crop Image” button to crop the image and show the output cropped image in another HTML “div”.

html




<!DOCTYPE html>
<html>
 
<head>
 
    <!-- All the required libraries to
        crop the image-->
    <link rel="stylesheet"
          href="jquery.Jcrop.min.css"
          type="text/css" />
    <script src="jquery.min.js"></script>
    <script src="jquery.Jcrop.min.js"></script>
 
    <style>
        body {
            width: 500px;
            height: 380px;
            font-family: Arial, Sans-serif;
        }
 
        .btnSubmitClass {
            background-color: #696969;
            padding: 5px 30px;
            border: #696969 1px solid;
            border-radius: 4px;
            color: #FFFFFF;
            margin-top: 10px;
        }
 
        input#cropBtnID {
            padding: 5px 25px 5px 25px;
            background: #D3D3D3;
            border: #98b398 1px solid;
            color: #FFF;
            visibility: hidden;
        }
 
        #outputImage {
            margin-top: 40px;
        }
    </style>
</head>
 
<body>
    <h2>
        How to crop image using
        jQuery and PHP
    </h2>
 
    <div>
        <img src="gfg2.jpg"
             id="cropImageID"
             class="img" /><br />
    </div>
    <div id="btn">
        <input type='button'
             id="cropBtnID"
             value='Crop Image'>
    </div>
    <div>
        <img src="#"
             id="outputImage"
             style="display:none;">
    </div>
    <script type="text/javascript">
        $(document).ready(function () {
            let size;
            $('#cropImageID').Jcrop({
 
                /* Some settings for
                basic configuration*/
                allowSelect: true,
                allowMove: true,
                allowResize: true,
                fixedSupport: true,
                aspectRatio: 1,
                onSelect: function (c) {
                    size = {
                        x: c.x, y: c.y,
                        w: c.w, h: c.h
                    };
 
                    $("#cropBtnID").css(
                        "visibility", "visible");
                }//end onSelect
            });//end Jcrop method
 
            $("#cropBtnID").click(function () {
                let img = $("#cropImageID").attr('src');
                $("#outputImage").show();
 
                $("#outputImage").attr('src',
                    'image-features.php?x = ' +
                    size.x + ' & y=' + size.y +
                    ' & w=' + size.w + '&h=' +
                    size.h + '&img=' + img);
            });
        });//end document ready fn
    </script>
</body>
 
</html>


PHP code: The following PHP code implements the “image-features.php” file that is used in the above HTML code for image and color creation. The PHP function used for creating a new image is imagecreatefromjpeg() method. A new true color image is created using PHP imagecreatetruecolor() method. Other PHP functions used are imagecopyresampled() and imagejpeg().

php




<?php
 
// Create a new image from a file
$newImage = imagecreatefromjpeg($_GET['img']);
 
// Create a new true color image
$newTruecolorImage = imagecreatetruecolor(
            $_GET['w'], $_GET['h']);
 
// Copy a portion from one image to another
imagecopyresampled($newTruecolorImage,
        $newImage, 0, 0, $_GET['x'], $_GET['y'],
        $_GET['w'], $_GET['h'], $_GET['w'],
        $_GET['h']);
     
header('Content-type: image/jpeg');
 
// Display image to browser as output
imagejpeg($newTruecolorImage);
     
exit;
?>


Output:

RELATED ARTICLES

Most Popular

Dominic
32514 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6892 POSTS0 COMMENTS
Nicole Veronica
12012 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12107 POSTS0 COMMENTS
Shaida Kate Naidoo
7016 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6975 POSTS0 COMMENTS
Umr Jansen
6963 POSTS0 COMMENTS