当前位置: 首页 > Web前端 > HTML5

image-process图片裁剪-比例缩放、压缩,支持本地-同域视频文件截图(html5+canvas)

时间:2023-04-05 18:47:37 HTML5

image-process-tools上传图片预处理(html5+canvas),ie10+解决裁剪问题上传前的图片,比例缩放,压缩,支持本地视频和同域视频文件的截图等。裁剪图片:同时设置参数宽度和高度。缩放:按宽度缩放,只设置宽度;同理,根据高度缩放,只设置高度,不裁剪缩放,直接返回源文件base64数据videoscreenshot返回数据包含字段videoFile、videoWidth、videoHeight、duration。其他参数为截图参数源码地址:https://github.com/capricornc...Demo地址:https://capricorncd.github.io...npmnpminstallimage-process--save-dev使用方法ES6+import{ZxImageProcess}from'image-process'constzxImageProcess=newZxImageProcess({//默认为空,图片和视频文件,前提是浏览器支持input[accept=]accept:'video/*',//自动裁剪auto:false,//触发文件选择的元素selector:'#buttonId',//限制宽度按比例缩放,只需要设置宽度值//限制高度按比例缩放,你只需要设置高度值//同时设置宽度,高度值,图片会根据尺寸进行裁剪width:600,height:400,//裁剪容器按钮样式submitStyle:'',cancelStyle:'color:red',//最大文件限制maxSize:50,success:function(result){//返回数据console.log(result);},error:function(err){console.error(err);}})不初始化ZxImageProcess,直接使用内部方法handleMediaFile(file,options),返回promise对象import{handleMediaFile}from'image-process'constoptions={//默认为空,提供图片和视频文件浏览器支持input[accept=]accept:'video/*',//自动裁剪auto:false,width:600,height:400,//文件大小限制50MmaxSize:50}//处理图像或视频文件handleMediaFile(file,options).then(res=>{console.log(res)}).catch(err=>{console.error(err)})browser使用effecthttps://capricorncd.github.io...Options参数autotrue|false自动处理图片,裁剪时不弹出手动位置调整框,默认为false。selector:#buttonId选择图片按钮id,supportid,classselector,或者HTMLElement对象(仅在实例化ZxImageProcess时有效)width:640croppingorzoomingwidthis640px(optional)1.限制宽度缩放,只需要设置宽度值。2.限制高度缩放,只需要设置高度值即可。3.如果同时设置宽高值,图片会根据尺寸进行裁剪。height:640裁剪或缩放的高度为640px(可选)maxSize:50最大文件大小限制,单位为M(兆字节)。默认50Msuccess:function(result){console.log(result)}图片处理完成后的回调函数(仅在实例化ZxImageProcess时有效)base64:base64图片base64datablob:blobData处理成功的图片数据可以直接上传到服务器,或为输入分配一个值并使用表单提交。element:canvascanvasnodeobjectheight:640处理后的图片宽度width:640处理后的图片宽度url:blob:urlraw:对象原始图片相关属性(宽度/高度/文件大小/Base64编码数据/类型/元素节点)size:21100Image处理后文件大小类型:image/png处理后图片类型错误:function(err){alert(err.message);}处理过程中的错误或警告回调函数(仅在实例化ZxImageProcess时有效)submitStyle:color:#f00裁剪框确认按钮样式(仅在实例化ZxImageProcess时有效)cancelStyle:color:#f00裁剪框取消按钮样式(仅在实例化时有效)ZxImageProcess实例化)方法conversion(size)将大小单位B转换为KB或M(大于1024KB则返回M)toBlobData(base64)base64转blobtoBlobUrl(file|blob)文件数据转bloburlreCrop()重新显示图片裁剪window并重新调整裁剪后的图片Errorcode消息描述1初始化参数selectorisinvalidandinvalidcharactersStringorDOMelement2没有获取到body元素3没有获取到selector对应的DOM元素4没有选择文件5当方法reCrop()被调用,没有获取到之前的文件数据7处理的文件不是图片或视频文件8读取文件数据错误11预加载图片数据错误12文件过大,超过最大限制13视频截图失败,视频资源可能不在同一个域21手动裁剪图片,设置预览图片src失败22用户取消裁剪位置,设置源码地址:https://github.com/capricornc...Demo地址:https://capricorncd.github.io...