加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Html5 Canvas实现图片标志、缩放、移动和生涯汗青状态成果 (附转换公式)

发布时间:2020-03-29 05:00:54 所属栏目:编程 来源:站长网
导读:副问题#e# 哈哈哈俺又来啦,这次带来的是canvas实现一些画布成果的文章,但愿各人喜好! 媒介 由于也是大三了,最近俺也在找演习,之前有一个本身的小项目: https://github.com/zhcxk1998/School-Partners 口试官说可以往深条理思索一下,或者加一些新的功

// 重置调动参数,从头绘制图片 useEffect(() => { setIsLoading(true) translatePointXRef.current = 0 translatePointYRef.current = 0 fillStartPointXRef.current = 0 fillStartPointYRef.current = 0 setCanvasScale(1) fillImage() }, [fillImageSrc]) const handlePaperChange = (value: string) => { const fillImageList = { 'xueshengjia': 'http://cdn.algbb.cn/test/canvasTest.jpg', 'xueshengyi': 'http://cdn.algbb.cn/test/canvasTest2.png', 'xueshengbing': 'http://cdn.algbb.cn/emoji/30.png', } setFillImageSrc(fillImageList[value]) }

留意事项

留意容器的偏移量

我们必要留意一下,由于公式中的 downX 是相对容器的坐标,也就是说,我们必要减去容器的偏移量,这种环境会呈此刻行使了 margin 等参数,可能说上方可能左侧有此外元素的环境

我们输出一下我们赤色的元素的 offsetLeft 等属性,会发明他是已经自己就有50的偏移量了,我们计较鼠标点击的坐标的时辰就要减去这一部门的偏移量

window.onload = function () { const test = document.getElementById('test') console.log(`offsetLeft: ${test.offsetLeft}, offsetHeight: ${test.offsetTop}`) } html, body { margin: 0; padding: 0; } #test { width: 50px; height: 50px; margin-left: 50px; background: red; } <div class="container"> <div id="test"></div> </div>

留意父组件行使relative相对机关的环境

若是我们此刻有一种这种的机关,打印赤色元素的偏移量,看起来都挺正常的

可是假如我们方针元素的父元素(也就是黄色部门)配置 relative 相对机关

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读