图片拖动旋转缩放裁剪

引入css文件

<link rel="stylesheet" type="text/css" href="css/cropper.css"/>

引入js文件

<script src="js/jquery-1.10.2.min.js" type="text/javascript" charset="utf-8"></script>
//手势
<script src="resources/hammer.js" type="text/javascript" charset="utf-8"></script>
//裁剪
<script src="resources/cropper.js" type="text/javascript" charset="utf-8"></script>
<script src="resources/moveImg_crop.js" type="text/javascript" charset="utf-8"></script>

页面布局
把要裁剪的图片用一个div包住

<!-- 裁剪页面 -->
<div class="" id="mycontainer" style="width: 100%;height: 100%;">
<!--要裁剪的图片-->
    <img id="cropimg" class="crop-img" src="resources/img/touxiang.jpg">
</div>
<div class="crop-tool">
    <div class="btn cancel" >取消</div>
    <div class="btn sure" id="crop-button">确定</div>
</div>
<img src="" id="crop-result" style="position: absolute;top: 0;left: 0;"/>

在页面加载完之后调用

        var data = {
            pan: true,//移动
            rotate: true,//旋转,如果不需要监听旋转事件,设为false
            pinch: true,//缩放
            aspectRatio:1/1,      //要裁剪的区域的宽高比
            autoCropArea: 0.5,    //0~1   要裁剪的区域的宽度(0.5就是50%)

        }
//传入包住图片的div的id,要裁剪的图片的id,点击裁剪的按钮的id,可以在回调函数得到裁剪后图片的路径
        moveImg('#mycontainer','#cropimg','#crop-button', data,function(croppedCanvas){
            $('#crop-result').attr('src',croppedCanvas.toDataURL('image/png', 1));
        });

调用微信的图片查看接口

(只能进行缩放)
调用jweixin.js,
urls:图片列表
current:当前图片

if(WeixinJSBridge){
                WeixinJSBridge.invoke("imagePreview",{
                    "urls": [this.src],
                    "current": this.src
                });
            }else{
                document.addEventListener("WeixinJSBridgeReady",function(){
                  WeixinJSBridge.invoke("imagePreview",{
                    "urls":[this.src],
                    "current": this.src
                    })
                }, false);  
            }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue是一款非常流行的前端框架,可以很方便地实现图片编辑和裁剪功能。下面,我来介绍一种使用Vue实现图片裁剪的方法。 首先,我们需要引入一个图片裁剪插件。这里我推荐使用Vue-Cropper插件,它是一款基于Cropper.js的Vue图片裁剪组件,支持裁剪旋转缩放等操作。 安装Vue-Cropper插件: ``` npm install vue-cropper --save ``` 然后在Vue组件中引入并使用Vue-Cropper: ```vue <template> <div> <vue-cropper ref="cropper" :src="imageUrl" :guides="false" :view-mode="1" :drag-mode="cropDragMode" :aspect-ratio="cropAspectRatio" :auto-crop-area="cropAutoCropArea" :center="cropCenter" :highlight="cropHighlight" :crop-box-moving="cropBoxMoving" @cropend="cropImage" ></vue-cropper> <button @click="getCroppedImage">裁剪图片</button> </div> </template> <script> import VueCropper from 'vue-cropper' export default { components: { VueCropper }, data() { return { imageUrl: '', // 需要裁剪图片路径 cropAspectRatio: 1 / 1, // 裁剪框的宽高比例 cropAutoCropArea: 0.8, // 裁剪框自动缩放比例 cropCenter: false, // 裁剪框是否居中 cropHighlight: true, // 裁剪框是否高亮显示 cropBoxMoving: true, // 裁剪框是否可以移动 cropDragMode: 'crop', // 裁剪框拖拽模式:crop-裁剪,move-移动,none-禁止操作 croppedImage: '' // 裁剪后的图片 } }, methods: { cropImage() { // 裁剪结束后的回调函数 }, getCroppedImage() { // 获取裁剪后的图片 this.croppedImage = this.$refs.cropper.getCroppedCanvas().toDataURL() } } } </script> ``` 其中,`imageUrl`为需要裁剪图片路径,`cropAspectRatio`为裁剪框的宽高比例,`cropAutoCropArea`为裁剪框自动缩放比例,`cropCenter`为裁剪框是否居中,`cropHighlight`为裁剪框是否高亮显示,`cropBoxMoving`为裁剪框是否可以移动,`cropDragMode`为裁剪框拖拽模式,`croppedImage`为裁剪后的图片。 在`getCroppedImage`方法中,使用`this.$refs.cropper.getCroppedCanvas().toDataURL()`获取裁剪后的图片数据,然后可以将其保存到服务器或者直接在页面上显示。 以上就是使用Vue-Cropper插件实现图片裁剪的方法。当然,还有其他的图片裁剪插件可以使用,不过大同小异。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值