Angular 이미지 재단 도구 ngImgCrop 실천 실현

ngImgCrop 은 AngularJS 의 그림 재단 플러그 인 입 니 다.실제로 봉 인 된 AngularJS 명령 으로 사용자 가 원 상자 나 네모 난 상자 로 그림 을 재단 할 수 있 습 니 다.
1.효과 캡 처 사용
  
2.데모 데모 데모
데모 데모 데모 주소http://jsfiddle.net/alexk111/rw6q9/
3.다운로드 설치
ngImgCrop 플러그 인 을 두 가지 방식 으로 다운로드 할 수 있 습 니 다.
GitHub 다운로드:git clonehttps://github.com/alexk111/ngImgCrop.git
b、bower 설치,프로젝트 에 bower 를 사용 하면 명령 bower install ngImgCrop 을 사용 하면 됩 니 다.
4.js 와 css 를 항목 에 추가 합 니 다.

<script src="angular.js"></script>
<script src="ng-img-crop.js"></script>
<link rel="stylesheet" type="text/css" href="ng-img-crop.css" rel="external nofollow" rel="external nofollow" >
5,AngularJs 의존 추가

var myAppModule = angular.module('MyApp', ['ngImgCrop']);
6.사용 사례

<html>
<head>
 <script src="angular.js"></script>
 <script src="ng-img-crop.js"></script>
 <link rel="stylesheet" type="text/css" href="ng-img-crop.css" rel="external nofollow" rel="external nofollow" >
 <style>
  .cropArea {
   background: #E4E4E4;
   overflow: hidden;
   width:500px;
   height:350px;
  }
 </style>
 <script>
  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.target.result;
      });
     };
     reader.readAsDataURL(file);
    };
    angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
   });
 </script>
</head>
<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" result-image="myCroppedImage"></img-crop>
 </div>
 <div>Cropped Image:</div>
 <div><img ng-src="{{myCroppedImage}}" /></div>
</body>
</html>

7.속성 소개

<img-crop
  image="{string}"                $scope.myImage
  result-image="{string}"                $scope.myCroppedImage
  [change-on-fly="{boolean}"]      :                    
  [area-type="{circle|square}"]     :             ,     
  [area-min-size="{number}"]       ,           ,   80,       80  、 80  
  [result-image-size="{number}"]     ,        ,   200,  200  、 200  
  [result-image-format="{string}"]     ,             ,    image/jpeg、image/png、image/webp,   image/png
  [result-image-quality="{number}"]     ,         ,   0.0 1.0  
  [on-change="{expression}"]         ,              

  [on-load-begin="{expression"]       ,            
  [on-load-done="{expression"]       ,            
  [on-load-error="{expression"]       ,            
></img-crop>

8.조심 하 세 요
결과 파일 은 base 64 형식 입 니 다.직접 보 여 주 는 것 이 라면 문제 가 없습니다.파일 형식 으로 배경 서버 에 그림 을 올 리 려 면 base 64 를 그림 파일 형식 으로 바 꾸 고 제 변환 코드 를 첨부 해 야 합 니 다.
$scope.file 은 직접 File 파일 형식 으로 백 엔 드 서버 에 업로드 할 수 있 습 니 다.

function getBlobBydataURL(dataURI,type){
      var binary = atob(dataURI.split(',')[1]);
      var array = [];
      for(var i = 0; i < binary.length; i++) {
        array.push(binary.charCodeAt(i));
      }
      return new Blob([new Uint8Array(array)], {type:type });
    }

    var $Blob = getBlobBydataURL($scope.myCroppedImage,"image/png");
    $scope.file = $Blob;
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기