Image Crop demo

Angular Image Crop using ngImgCrop

HTML

<link rel="stylesheet" href="https://cdn.rawgit.com/alexk111/ngImgCrop/master/compile/minified/ng-img-crop.css">
<script src="https://cdn.rawgit.com/melnikovkolya/ngImgCrop/master/compile/minified/ng-img-crop.js"></script>
<body ng-app="app" ng-controller="Ctrl">
  <div>Select an image file: <input type="file" id="fileInput" /></div>
  <div class="cropArea">
    <img-crop image="myImage" area-type="rectangle" result-image="myCroppedImage" result-image-size="400"></img-crop>
      
 <!-- Aspect ratio support
<img-crop image="myImage" aspect-ratio="2" area-type="rectangle" result-image="myCroppedImage"></img-crop> 
-->
  </div>
  <div>Cropped Image:</div>
  <div><img ng-src="{{myCroppedImage}}" /></div>
</body>

CSS

.cropArea {
  background: #E4E4E4;
  overflow: hidden;
  width:200px;
  height:200px;
}

JavaScript

angular.module('app', ['ngImgCrop'])
  .controller('Ctrl', function($scope) {
    $scope.myImage='';
    $scope.myCroppedImage='';

    var handleFileSelect=function(evt) {
      var file=evt.currentTarget.files[0];
      var reader = new FileReader();
      reader.onload = function (evt) {
        $scope.$apply(function($scope){
            $scope.myImage = evt.currentTarget.result;
        });
      };
        reader.readAsDataURL(file);
    };
    angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
  });