GitHub示例源码地址:https://github.com/luoruiemail/ngx-image-cropper

下载下来之后,执行yarn install安装相关node_modules包

然后在目录执行npm start 浏览器中访问http://localhost:4200/ 就可以看到示例效果了 ↓


代码如下↓

ImageCropperModule添加到模块的导入中,若未安装此包,在Windows PowerShell中执行yarn add ngx-image-cropper 即可

 import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core'; import { AppComponent } from './app.component';
import { ImageCropperjsComponent } from './cropperjs/image-cropperjs/image-cropperjs.component';
import { ImageCropperModule } from 'ngx-image-cropper'; @NgModule({
declarations: [
AppComponent,
ImageCropperjsComponent
],
imports: [
BrowserModule, ImageCropperModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

页面代码↓

 <div id="container1">

     <img id="image" style="display: none" src="../../../assets/image/chelun.gif">
<input type="file" (change)="fileChangeEvent($event)" /> <image-cropper [imageChangedEvent]="imageChangedEvent" [imageBase64]="base64String" [maintainAspectRatio]="true" [aspectRatio]="1 / 1" [resizeToWidth]="" resizeToHeight="" format="png" (imageCropped)="imageCropped($event)" (imageLoaded)="imageLoaded()"
(cropperReady)="cropperReady()" (loadImageFailed)="loadImageFailed()"></image-cropper> <img [src]="croppedImage" /> </div>
 import { Component, OnInit, AfterViewInit, ViewEncapsulation } from '@angular/core';
// import Cropper from 'cropperjs';
import { ImageCroppedEvent } from 'ngx-image-cropper'; @Component({
selector: 'app-image-cropperjs',
templateUrl: './image-cropperjs.component.html',
//styleUrls: ['./image-cropperjs.component.css']
encapsulation: ViewEncapsulation.None
})
export class ImageCropperjsComponent implements AfterViewInit { ngAfterViewInit(): void {
this.getBase64(`http://${window.location.host}/assets/image/chelun.gif`)
} getBase64(imgUrl) {
const self = this;
var xhr = new XMLHttpRequest();
xhr.open("get", imgUrl, true);
// 至关重要
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status == ) {
//得到一个blob对象
var blob = this.response;
console.log("blob", blob)
// 至关重要
let oFileReader = new FileReader();
oFileReader.onloadend = function (e) {
let base64 = e.target;
self.base64String = (<any>base64).result;
console.log("方式一》》》》》》》》》", base64)
};
oFileReader.readAsDataURL(blob);
//====为了在页面显示图片,可以删除====
// var img = document.createElement("img");
// img.onload = function (e) {
// window.URL.revokeObjectURL(img.src); // 清除释放
// };
// let src = window.URL.createObjectURL(blob);
// img.src = src
// document.getElementById("container1").appendChild(img);
//====为了在页面显示图片,可以删除==== }
}
xhr.send();
}
base64String: any;
imageChangedEvent: any = '';
croppedImage: any = ''; fileChangeEvent(event: any): void {
debugger
this.imageChangedEvent = event;
}
imageCropped(event: ImageCroppedEvent) {
this.croppedImage = event.base64;
}
imageLoaded() {
// show cropper
}
cropperReady() {
// cropper ready
}
loadImageFailed() {
// show message
}
cropper: any;
constructor() { } ngOnInit() { } getImgUrl($event) {
debugger
let data = window.URL.createObjectURL($event.path[].files[]);
this.cropper.replace(data);
console.log($event);
}
rotateRight() {
debugger
console.log(this.cropper.getData());
this.cropper.rotate();
}
}

示例中 getBase64()方法是加的一个默认图片显示,也可以手动选择文件

通过此示例我们可以做一些图片上传裁剪,修改的操作,保存小图片,非常方便

Angular中ngx-image-cropper图片裁剪的使用的更多相关文章

  1. node.js中使用imagemagick进行图片裁剪压缩

    node.js中使用imagemagick进行图片裁剪压缩 安装imagemagick sudo apt-get install imagemagick or wget http://www.imag ...

  2. vue中使用cropperjs进行图片裁剪上传

    下面代码直接就可以复制使用了,但是需要在本地下个cropperjs,下载命令:npm install cropperjs --save-dev <template> <div id= ...

  3. HarmonyOS三方件开发指南(12)——cropper图片裁剪

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1. cropper组件功能介绍2. cropper使用方法3. cropper组件开发实现4. ...

  4. spring-mvc整合jquery cropper图片裁剪插件

    参考网址:http://blog.csdn.net/u012759397/article/details/53126522

  5. Cropper – 简单的 jQuery 图片裁剪插件

    Cropper 是一个简单的 jQuery 图像裁剪插件.它支持选项,方法,事件,触摸(移动),缩放,旋转.输出的裁剪数据基于原始图像大小,这样你就可以用它们来直接裁剪图像. 如果你尝试裁剪跨域图像, ...

  6. 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间

    现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...

  7. cropper.js图片裁剪

    最近做电子名片的项目,可是个人照片展示上出现了 用户上传的图片尺寸严重失调,所以要求进行图片裁剪,再此我对图片裁剪进行调研 还不太成熟 以后再改 这个实现的原理是 前台获取到 坐标 图片的尺寸 原图文 ...

  8. 使用cropper插件进行图片裁剪 并上传

    cropper插件的使用和 github地址: github 官方实例 我参考的中文文档: https://www.cnblogs.com/baka-sky/p/8001577.html 因为我是.n ...

  9. cropper.js裁剪图片的使用

    这两天难得有时间可以整理一下最近学习的东西,这两天项目中用到了头像上传裁剪的功能,这里只介绍头像的裁剪吧. 单独实现图片剪裁的功能还是挺容易的,入门级别的.看一遍官方给的文档,基本上就明白了.大家如果 ...

  10. js插件---强大的图片裁剪Cropper

    js插件---强大的图片裁剪Cropper 一.总结 一句话总结:官网或者github里面的文档或者demo才是真的详细 使用的话找到图片裁剪后的base64数据,然后这个数据可下载可传递到服务器 1 ...

随机推荐

  1. okclient2详细介绍

    在 Java 程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理.比如屏幕抓取(screen scraping)程序通过 HTTP 客户端来访问网站并解析所得到的 HT ...

  2. 【SaltStack官方版】—— returners——返回器

    ETURNERS 返回器 By default the return values of the commands sent to the Salt minions are returned to t ...

  3. Java设计模式-策略模式实际应用场景

    容错恢复机制        容错恢复机制是应用程序开发中非常常见的功能.那么什么是容错恢复呢?简单点说就是:程序运行的时候,正常情况下应该按照某种方式来做,如果按照某种方式来做发生错误的话,系统并不会 ...

  4. 路由器配置——广播多路访问链路上的OSPF

    一.实验目的:作广播形式的OSPF,了解DR与BDR之间的链路关系 二.拓扑图: 三.具体步骤配置 (1)R1路由器配置 enableconfigure terminalhostname R1inte ...

  5. 【luogu4781】拉格朗日插值

    题目背景 这是一道模板题 题目描述 由小学知识可知,nn个点(x_i,y_i)(xi​,yi​)可以唯一地确定一个多项式 现在,给定nn个点,请你确定这个多项式,并将kk代入求值 求出的值对99824 ...

  6. assert 笔记

    目录 什么是assert? assert使用 assert错误使用 什么是assert? Python 的 assert 语句是一个 debug 的好工具,主要用于测试一个条件是否满足.如果测试的条件 ...

  7. Java异常Error和Exception

    简述 程序运行时,发生了不被期望的结果,阻止了程序按照预期正常执行,这就是异常.世界上没有不出错的程序,只有正确处理好意外情况,才能保证程序的可靠性. Java 语言在设计之初就提供了相对完善的异常处 ...

  8. hadoop HA+Federation(高可用联邦)搭建配置(二)

    hadoop HA+Federation(高可用联邦)搭建配置(二) 标签(空格分隔): hadoop core-site.xml <?xml version="1.0" e ...

  9. 一些风骚的shell命令行操作

    1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...

  10. Linux设备驱动程序 之 原子操作

    原子整数操作 当共享资源是一个简单的整数值时,可以使用内核提供的一种原子的整数类型,称为atomic_t,定义在<linux/types.h>中,操作定义在<linux/atomic ...