小程序
小游戏
企业微信
微信支付
扫描小程序码分享
canvas裁剪的时候,面板如果有空白给用户一个提示,裁剪是随意拖动旋转的,问一下是否有实现思路?
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
缩放拖动旋转之类的,可以自己用事件做。
空白这个嘛。。
1、如果剪裁框是标准正方形呢,那你可以自己计算有没有空白。比如,以剪裁框左下角为坐标原点,计算出图片的四个点的坐标,然后判断剪裁框4个点都在图片矩形的内部(这个判断点在矩形内部的矢量计算公式百度吧)
2、如果剪裁框不是标准正方形,那能保证图片本身不透明的话(透明的话可以在图片位置先画个白背景),你可以试试用API 取canvas的像素数组,然后里面不包含 alpha 为0的点。。性能可能不太好,建议只在保存的时候做下校验。
补充一下,你能看见的缩放拖动旋转,都没必要直接在canvas上实现,可以用image标签来做,最后保存的时候再画到canvas上并保存下来
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
缩放拖动旋转之类的,可以自己用事件做。
空白这个嘛。。
1、如果剪裁框是标准正方形呢,那你可以自己计算有没有空白。比如,以剪裁框左下角为坐标原点,计算出图片的四个点的坐标,然后判断剪裁框4个点都在图片矩形的内部(这个判断点在矩形内部的矢量计算公式百度吧)
2、如果剪裁框不是标准正方形,那能保证图片本身不透明的话(透明的话可以在图片位置先画个白背景),你可以试试用API 取canvas的像素数组,然后里面不包含 alpha 为0的点。。性能可能不太好,建议只在保存的时候做下校验。
补充一下,你能看见的缩放拖动旋转,都没必要直接在canvas上实现,可以用image标签来做,最后保存的时候再画到canvas上并保存下来