Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

wl-image-cropper

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wl-image-cropper

图片裁剪插件

  • 1.0.4
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

图片裁剪插件

使用方法

npm install @stl/image-cropper

//如果“addStyle”参数传入的是false,需要用此方式加载css;如果不传“addStyle”参数则默认通过js方式加载css
css:  @import "/node_modules/@stl/image-cropper/dist/index.css";

html:
<input type="file" id="input_box" />//上传图片框
<div class="img_box" id="img_cropper" style="width:200px;height:200px"></div>//裁剪框父元素
<div class="yl" style="width:120px;height:120px;overflow:hidden;"></div>//大预览框
<div class="yl" style="width:80px;height:80px;overflow:hidden;"></div>//中等预览框
<div class="yl" style="width:40px;height:40px;overflow:hidden;"></div>//小预览框
<div>
    <div id="fd">图片放大按钮</div>
    <div id="sx">图片缩小按钮</div>
    <div id="yy">裁剪框右移按钮</div>
    <div id="sy">裁剪框上移按钮</div>
    <div id="zy">裁剪框左移按钮</div>
    <div id="xy">裁剪框下移按钮</div>
</div>
<div id="get_img">获取裁剪后的图片</div>

ts:
import { imageCropper } from "@stl/image-cropper"
let imgCropper:any = new imageCropper(
    {
        ele:document.getElementById("img_cropper"),
        inputBox:document.getElementById("input_box"),
        src:"http://www.jq22.com/demo/cropper-master20160830/examples/crop-avatar/img/picture.jpg",
        previewBox:document.getElementsByClassName("yl"),
        magnifyBtn:document.getElementById("fd"),
        shrinkBtn:document.getElementById("sx"),
        moveLeftBtn:document.getElementById("zy"),
        moveRightBtn:document.getElementById("yy"),
        moveUpBtn:document.getElementById("sy"),
        moveDownBtn:document.getElementById("xy"),
        getImgBtn:document.getElementById("get_img"),
        getImgCallback:uploadImg,
    }
);
function uploadImg(src){
    console.log(src)
    ......
}

方法说明

magnifyFn:()=>void 放大图片的回调方法(如果传入了参数magnifyBtn则不需要再调用此方法放大图片)    
            调用方式  imgCropper.magnifyFn()
shrinkFn:()=>void 缩小图片的回调方法(如果传入了参数shrinkBtn则不需要再调用此方法缩小图片)     
            调用方式  imgCropper.shrinkFn()
moveLeftFn:()=>void 裁剪框左移的回调方法(如果传入了参数moveLeftBtn则不需要再调用此方法)   
            调用方式  imgCropper.moveLeftFn()
moveRightFn:()=>void 裁剪框右移的回调方法(如果传入了参数moveRightBtn则不需要再调用此方法)  
            调用方式  imgCropper.moveRightFn()
moveUpFn:()=>void 裁剪框上移的回调方法(如果传入了参数moveUpBtn则不需要再调用此方法)     
            调用方式  imgCropper.moveUpFn()
moveDownFn:()=>void 裁剪框下移的回调方法(如果传入了参数moveDownBtn则不需要再调用此方法)   
            调用方式  imgCropper.moveDownFn()
changeImg:(src:string)=>void 更改图片的回调(如果传入了上传图片的input框则不需要再调用此方法)   
            调用方式  imgCropper.changeImg()
getCropSize:(callback)=>void 获取裁剪后图片的base64编码(如果传入参数getImgBtn和getImgCallback则不需要再调用此方法)   
            调用方式 imgCropper.getCropSize(callback)
            此方法接收一个参数callback  callback将在获取裁剪后图片的base64编码后执行并将base64编码传入callback中

备注

1.如果你要使用跨源图片来作为剪裁图片,请确保你的图片服务器支持Access-Control-Allow-Origin属性,
  不然会产生图片跨域问题。
2.getImgCallback方法将获得裁剪后图片的base64编码,如果图片有跨域或其他未知问题会导致生成base64编码失败, 
  如果生成失败则会返回一个对象:
    {
        width:裁剪后的图片宽度,
        height:裁剪后的图片高度,
        x:x轴的起始裁剪位置,
        y:y轴的起始裁剪位置,
        src:裁剪前的原图片地址
    }

参数说明(加粗的为必传项)

参数名类型默认值description
eleHTMLElement裁剪框父元素
srcstring""初始化时裁剪框内显示的图片地址
inputBoxHTMLElementnull上传图片的input框 (必须设置type="file")点击此元素上传图片后将会默认将上传图片加载到裁剪框
addStylebooleantruetrue:通过js的方式添加style标签,false:不会通过js的方式添加样式 需要手动引入css文件
previewBoxHTMLElementnull预览裁剪图片的元素(列表)document.getElementById("")或document.getElementsByClassName("")两种方式传入
zoomMultiplenumber20图片可缩放的倍数
zoomScalenumber0.05每次缩放图片的比例
cropperBoxWidthnumber200裁剪框初始宽度
cropperBoxHeightnumber200裁剪框初始高度
fixedCropSizebooleanfalse是否固定裁剪框尺寸
moveStepnumber10点击移动裁剪框按钮每次移动的距离
magnifyBtnHTMLElementnull点击放大图片的按钮
shrinkBtnHTMLElementnull点击缩小图片的按钮
moveLeftBtnHTMLElementnull点击向左移动裁剪框的按钮
moveRightBtnHTMLElementnull点击向右移动裁剪框的按钮
moveUpBtnHTMLElementnull点击向上移动裁剪框的按钮
moveDownBtnHTMLElementnull点击向下移动裁剪框的按钮
getImgCallbackfunctionnull获取裁剪后图片成功的回调 此方法将获得一个参数(参数值见备注2)(此方法中this指向为实例化出来的imageCropper对象)
cropInitCompletefunctionnull裁剪框dom初始化完成的回调 (此方法中this指向为实例化出来的imageCropper对象)
inputImgCompletefunctionnull添加本地图片完成的回调(此方法将获得一个参数 input事件的this对象)(此方法中this指向为实例化出来的imageCropper对象)方法中将this.fileSrc赋值为空将阻止后面方法的执行

Keywords

FAQs

Package last updated on 10 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc