Merhabalar; Bu makalede Jquery ile görselleri kroplamayı kolaylaştıran Jcrop adlı eklenti kullanmayı öğreneceğiz. Hazırsak başlayalım:

Öncelikle jQuery Jcrop eklentisini indirin ve gerekli dosyaları HTML kodunuzun head bölümüne ekleyin.

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

Aşağıdaki HTML kodu, bir görüntü dosyası alarak ve görüntüyü kırpmak ve çıktı kırpılmış görüntüyü başka bir HTML "div" içinde göstermek için bir "Görüntüyü Kırp" düğmesi vererek Jcrop eklentisini gösterir.

<!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 () { 
			var 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 () { 
				var 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 kodu: Aşağıdaki PHP kodu, yukarıdaki HTML kodunda görüntü ve renk oluşturma için kullanılan "image-features.php" dosyasını uygular. Yeni bir görüntü oluşturmak için kullanılan PHP işlevi, imagecreatefromjpeg() yöntemidir. PHP imagecreatetruecolor() yöntemi kullanılarak yeni bir gerçek renkli görüntü oluşturulur . Kullanılan diğer PHP fonksiyonları ise imagecopyresampled() ve imagejpeg()'dir.

<?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; 
?> 

Tüm işlemler bu kadar siz PHP yerine ilgilendiğiniz herhangi bir backend ilede aynı işlemleri yapabilirsiniz.