项目中运用cropper插件
github地址: https://github.com/fengyuanchen/cropper
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/cropper.min.css">
<link rel="stylesheet" href="css/main.css">
导入js:
<script src="js/jquery-1.12.4.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/cropper.min.js"></script>
<script src="js/main.js"></script>
var width //页面传过来的宽
var height //页面传过来的高
//cropper初始化
var $dataX = $('#dataX'),
var $dataY = $('#dataY'),
var $dataHeight = $('#dataHeight'),
var $dataWidth = $('#dataWidth'),
var $dataRotate = $('#dataRotate'),
var options ={aspectRatio:width/height,preview:'.img-preview',crop:function(e){
$dataX.val(Math.round(data.x));$dataY.val(Math.round(data.y));$dataHeight.val(Math.round(data.height));$dataWidth.val(Math.round(data.width));$dataRotate.val(Math.round(data.rotate));
}
}
$('#image').cropper(options);
<div class="img-container"><img id="image" src="img/picture.jpg" alt="Picture">
</div>
<div class="modal fade docs-cropped" id="getCroppedCanvasModal" aria-hidden="true" aria-labelledby="getCroppedCanvasTitle" role="dialog" tabindex="-1"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h4 class="modal-title" id="getCroppedCanvasTitle">Cropped</h4></div><div class="modal-body"></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<a class="btn btn-primary" id="uploadPic">确认上传</a><a class="btn btn-primary hidden" id="download" href="javascript:void(0);" download="cropped.jpg">Download</a></div></div></div>
</div><!-- /.modal -->
$("#uploadPic").on('click',function(){
//设置canvas的id$("canvas").attr("id","myCanvas");
var Pic=document.getElenmentById("myCanvas").toDataURL("image/png");
Pic=Pic.replace(/^data:image\/(png|jpg);base64,/,"");
//下面可以Ajax将Pic传入后台进行base64保存图片的操作。。。})
//base64字符串转化成图片 public static boolean GenerateImage(String imgStr,String imgFilePath) { //对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); for(int i=0;i<b.length;++i) { if(b[i]<0) {//调整异常数据 b[i]+=256; } } //生成jpeg图片OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } }
项目中运用cropper插件相关推荐
- 实战:vue项目中导入swiper插件
版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4. 常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: ...
- vue导入swiper_vue项目中导入swiper插件的方法
这篇文章主要为大家详细介绍了vue项目中导入swiper插件的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 版本选择 swiper是个常用 ...
- 在项目中配置PageHelper插件时遇到类型转换异常
在项目中配置PageHelper插件时遇到类型转换异常 参考文章: (1)在项目中配置PageHelper插件时遇到类型转换异常 (2)https://www.cnblogs.com/dubhlinn ...
- 在 Vite项目中,使用插件 @rollup/plugin-inject 注入全局 jQuery
在 Vite项目中,使用插件 @rollup/plugin-inject 注入全局 jQuery 环境 写在前面 方法一.全局静态引入 方法二.使用插件 @rollup/plugin-inject 注 ...
- MVC web项目中引入jquery插件
MVC web项目中引入jquery插件 1.下载jquery [https://jquery.com/] 看到这样的文档,直接CTRL+S保存到自己的文件夹 2.将文件夹中的js文件直接拖拽导入到项 ...
- 【Flutter】Flutter 项目中使用 Flutter 插件 ( Flutter 插件管理平台 | 搜索 Flutter 插件 | 安装 Flutter 插件 | 使用 Flutter 插件 )
文章目录 一.Flutter 包和插件管理平台 二.Flutter 插件搜索示例 三.Flutter 插件装示例 1.添加 Dart 包依赖 2.获取 Dart 包 3.使用 Dart 包 4.官方的 ...
- vue项目中使用粒子插件
效果如下: 1.安装依赖: npm install vue-particles --save-dev 2.main.js引入 import VueParticles from 'vue-particl ...
- vue项目中使用iview插件中this.$Modal.confirm的使用方法
当我们项目中需要根据id或者其他删除一个选项时,我们会首先弹出确认删除对话框,询问用户是否删除,iview中confirm的用法与elment-ui不同,官方链接:https://www.iviewu ...
- cordova 更改app版本_ionic项目中使用cordova-hot-code-push插件
例子源码参见我的github:zhangzhaojun/chcp-manual-demo 使用cordova-hot-code-push插件的方法如下: 1.如下命令创建一个项目: $ ionic s ...
最新文章
- 智能判断图片中是否存在某物体_智能家居组件漫谈——人体传感器
- java第一 ++--
- SparkSQL源代码:总体概述
- 微软:SolarWinds 供应链攻击事件幕后黑手攻击全球24国政府
- Fashion Mnist中的softmax应用
- html css 窗口样式,简单的css样式网页
- 数星星(结构体专题)
- 将List集合用字符串,逗号隔开进行拼接
- 使用iperf工具,用java的swing,编写网络带宽监测小工具
- MacBook Pro 13 A1502 更换电池
- 基于wxpy的微信防撤回
- 江苏事业单位计算机类结构化面试,2017江苏事业单位结构化面试常见问题及应对方法...
- 2017AP计算机科学5分线,2017各国际学校AP分数大比拼,看看你是啥水平
- pycharm 同一个目录下导入py文件时,模块下方出现红色波浪线时如何解决
- Delphi 学习书籍
- 【UCB操作系统CS162项目】Pintos Lab1:线程调度 Threads
- 一文读懂Bakkt:加密货币的纽交所
- 根据经纬度查询附近几公里的门店(5)代表5公里
- Android Studio使用百度定位不准确的问题(使用模拟器)
- 车队仿真软件Plexe-sumo仿真初探 plexe-python接口
热门文章
- LotusScript 调用WSDL 并解析Json字符串
- NIO(一)--简介API介绍
- xcode无证书打包ios应用+安装
- 服装行业RFID的应用
- 优秀网站源码、编程源码下载网站大集中(http://topic.csdn.net/u/20080501/12/45ab4636-6566-4ffe-8ec0-b99da747ea5b.html)
- 基于Flink+Alink构建全端亿级实时用户画像系统
- 计算机软件技术应用于工程设计,计算机软件技术在化工工程设计中的应用论文原稿...
- 手机桌面提醒工具 S60V5
- 【干货】:批量清除任务栏上快速启动应用的历史记录
- 论文笔记《Visual Dialog》