Angular中ngx-image-cropper图片裁剪的使用
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图片裁剪的使用的更多相关文章
- node.js中使用imagemagick进行图片裁剪压缩
node.js中使用imagemagick进行图片裁剪压缩 安装imagemagick sudo apt-get install imagemagick or wget http://www.imag ...
- vue中使用cropperjs进行图片裁剪上传
下面代码直接就可以复制使用了,但是需要在本地下个cropperjs,下载命令:npm install cropperjs --save-dev <template> <div id= ...
- HarmonyOS三方件开发指南(12)——cropper图片裁剪
鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1. cropper组件功能介绍2. cropper使用方法3. cropper组件开发实现4. ...
- spring-mvc整合jquery cropper图片裁剪插件
参考网址:http://blog.csdn.net/u012759397/article/details/53126522
- Cropper – 简单的 jQuery 图片裁剪插件
Cropper 是一个简单的 jQuery 图像裁剪插件.它支持选项,方法,事件,触摸(移动),缩放,旋转.输出的裁剪数据基于原始图像大小,这样你就可以用它们来直接裁剪图像. 如果你尝试裁剪跨域图像, ...
- 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间
现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...
- cropper.js图片裁剪
最近做电子名片的项目,可是个人照片展示上出现了 用户上传的图片尺寸严重失调,所以要求进行图片裁剪,再此我对图片裁剪进行调研 还不太成熟 以后再改 这个实现的原理是 前台获取到 坐标 图片的尺寸 原图文 ...
- 使用cropper插件进行图片裁剪 并上传
cropper插件的使用和 github地址: github 官方实例 我参考的中文文档: https://www.cnblogs.com/baka-sky/p/8001577.html 因为我是.n ...
- cropper.js裁剪图片的使用
这两天难得有时间可以整理一下最近学习的东西,这两天项目中用到了头像上传裁剪的功能,这里只介绍头像的裁剪吧. 单独实现图片剪裁的功能还是挺容易的,入门级别的.看一遍官方给的文档,基本上就明白了.大家如果 ...
- js插件---强大的图片裁剪Cropper
js插件---强大的图片裁剪Cropper 一.总结 一句话总结:官网或者github里面的文档或者demo才是真的详细 使用的话找到图片裁剪后的base64数据,然后这个数据可下载可传递到服务器 1 ...
随机推荐
- okclient2详细介绍
在 Java 程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理.比如屏幕抓取(screen scraping)程序通过 HTTP 客户端来访问网站并解析所得到的 HT ...
- 【SaltStack官方版】—— returners——返回器
ETURNERS 返回器 By default the return values of the commands sent to the Salt minions are returned to t ...
- Java设计模式-策略模式实际应用场景
容错恢复机制 容错恢复机制是应用程序开发中非常常见的功能.那么什么是容错恢复呢?简单点说就是:程序运行的时候,正常情况下应该按照某种方式来做,如果按照某种方式来做发生错误的话,系统并不会 ...
- 路由器配置——广播多路访问链路上的OSPF
一.实验目的:作广播形式的OSPF,了解DR与BDR之间的链路关系 二.拓扑图: 三.具体步骤配置 (1)R1路由器配置 enableconfigure terminalhostname R1inte ...
- 【luogu4781】拉格朗日插值
题目背景 这是一道模板题 题目描述 由小学知识可知,nn个点(x_i,y_i)(xi,yi)可以唯一地确定一个多项式 现在,给定nn个点,请你确定这个多项式,并将kk代入求值 求出的值对99824 ...
- assert 笔记
目录 什么是assert? assert使用 assert错误使用 什么是assert? Python 的 assert 语句是一个 debug 的好工具,主要用于测试一个条件是否满足.如果测试的条件 ...
- Java异常Error和Exception
简述 程序运行时,发生了不被期望的结果,阻止了程序按照预期正常执行,这就是异常.世界上没有不出错的程序,只有正确处理好意外情况,才能保证程序的可靠性. Java 语言在设计之初就提供了相对完善的异常处 ...
- hadoop HA+Federation(高可用联邦)搭建配置(二)
hadoop HA+Federation(高可用联邦)搭建配置(二) 标签(空格分隔): hadoop core-site.xml <?xml version="1.0" e ...
- 一些风骚的shell命令行操作
1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...
- Linux设备驱动程序 之 原子操作
原子整数操作 当共享资源是一个简单的整数值时,可以使用内核提供的一种原子的整数类型,称为atomic_t,定义在<linux/types.h>中,操作定义在<linux/atomic ...