cropperjs的高度过大(container height too much)
cropperjs的高度过大(container height too much)
标签(空格分隔): JavaScript
业务需要web头像裁切,用canvas写了个demo卡成一匹马,于是就去寻找现成的,发现了cropperjs这个lib,4k star。
在ionic项目中使用时(不打包app),发现高度总是远高于图片显示高度,查找Issues作者只是说给图片加最大宽度100%,这里需要注意,width: 100%的同时还必须给图片一个父容器,直接在ion-content下是没有作用的。
<ion-content>
<input type="file" (change)="selectFile($event)">
<div class="img-contaier">
<img [src]="src" alt="" height="auto" width="100%" #img>
</div>
<img [src]="previewSrc" alt="" #preview>
<button ion-button (click)="imgCropper()">cropper</button>
</ion-content>
import...
declare const Cropper;
@Component...
export class HomePage {
public previewSrc: string;
public cropper: any;
public src: string;
@ViewChild('img') img: ElementRef;
@ViewChild('preview') preview: ElementRef;
constructor(
public navCtrl: NavController
) { }
file2Base64(e) {
const f = e;
return new Promise((resolve, reject) => {
if (f) {
const reader = new FileReader();
reader.onload = (file => function(_e) {
resolve({ result: this.result, file: e});
})(f);
reader.readAsDataURL(f);
return;
}
reject(`Get none files.`);
});
}
selectFile(e) {
const file = e.target.files[0];
if (file) {
this.file2Base64(file).then((data: any) => {
this.src = data.result;
if (this.cropper) this.cropper.destroy();
this.img.nativeElement.onload = e => {
this.cropperInit(e);
}
});
}
}
cropperInit(e) {
console.log(e);
const image = e.target;
this.cropper = new Cropper(image, {
viewMode: 1,
aspectRatio: 1 / 1,
background: false
});
}
imgCropper() {
const str = this.cropper.getCroppedCanvas().toDataURL();
this.previewSrc = str;
}
}

cropperjs的高度过大(container height too much)的更多相关文章
- nodejs高并发大流量的设计实现,控制并发的三种方法
nodejs高并发大流量的设计实现,控制并发的三种方法eventproxy.async.mapLimit.async.queue控制并发Node.js是建立在Google V8 JavaScript引 ...
- 精挑细选 8款HTML5/jQuery应用助网站走向高上大
在WEB3.0的时代,我们的网站不仅要实现实用价值,更要为用户设计优秀的用户体验.jQuery是一个不错的JS框架,结合目前最新的HTML5技术,我们可以将自己的网站脱胎换骨,立马走向高上大,至少在前 ...
- [原创]lvs+ospf+nginx实现高可用大流量web架构
lvs+ospf+nginx实现高可用大流量web架构配置总概述 架构图: 配置如下: .quagga之zebra配置: # cat /etc/quagga/zebra.conf ! ! Zebra ...
- 高并发大流量专题---11、Web服务器的负载均衡
高并发大流量专题---11.Web服务器的负载均衡 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 http{ upstream cluster{ serv ...
- 高并发大流量专题---10、MySQL数据库层的优化
高并发大流量专题---10.MySQL数据库层的优化 一.总结 一句话总结: mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化 1.mysql数据库层的优化的前面一层是什么? 数 ...
- 高并发大流量专题---5、CDN加速
高并发大流量专题---5.CDN加速 一.总结 一句话总结: CDN就是多整几台节点服务器,选距离用户最近的服务器来给用户服务,实现的话可以用阿里云.腾讯云他们提供的功能,简单方便,妈妈再也不用担心我 ...
- 高并发大流量专题---3、前端优化(减少HTTP请求次数)
高并发大流量专题---3.前端优化(减少HTTP请求次数) 一.总结 一句话总结: 图片地图:使用<map><area></area></map>标签. ...
- MaxCompute,基于Serverless的高可用大数据服务
摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...
- [转载] 高流量大并发Linux TCP 性能调优
原文: http://cenwj.com/2015/2/25/19 本文参考文章为: 优化Linux下的内核TCP参数来提高服务器负载能力 Linux Tuning 本文所面对的情况为: 高并发数 高 ...
随机推荐
- java的Spring学习3- mybatis
1.java的maven依赖包 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourc ...
- linux下解压rar文件
由于,linux系统内置没有这个包需要,我们用源码,添加到系统 Linux下rar unrar的安装 以3.8.0版本为例,如果是64位平台,执行以下命令,也可以去官方网站:)下载最新版:wget h ...
- B/S 与 C/S 模型区别
C/S又称Client/Server或客户/服务器模式.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.Informix或 SQL Server.客户端 ...
- Oracle子分区(sub partition)操作
要重新定义大量分区表. 首先看 SQL Reference 大致了解了 Oracle 的分区修改操作.Alter table 语句的alter_table_partitioning 子句可以分为以下几 ...
- Android四层架构
Andrid系统的体系结构设计为多层结构,这种结构在给用户提供安全保护的同时还保持了开放平台的灵活性.如下图所示: Google官方提供的Android系统的四层架构图 从上到下进行简单介绍: 一 ...
- Spring JDBC Framework
引自 :学习经典:Spring JDBC Framework 这里记录我对Spring JDBC框架的学习.由于Spring JDBC和我之前做的工作有很多共同之处,学习经典Framework的设计, ...
- python 爬虫系列05--丑事百科
丑事百科爬虫 import re import requests def parse_page(url): headers = { 'User-Agent':'user-agent: Mozilla/ ...
- 页面跳转问题-button 确定提交按钮
form和ajax不可一起用了,button标签默认是用的form表单,所以导致跳转有问题,form不能和ajax一起用的,切记
- (转)DB2 db2diag.log 日志分析
DB2 db2diag.log 日志分析 原文:http://blog.csdn.net/lyjiau/article/details/52129997 db2diag.log是用来记录DB2数据库运 ...
- TOJ 3635 过山车
Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 个个男生做partne ...