vue+canvas实现区域框选功能

本文介绍如何结合Vue.js与HTML5 Canvas技术,实现网页中的图形区域选择功能。通过Vue的数据绑定和Canvas的绘图API,我们可以创建一个交互式的框选工具,允许用户在画布上自由划定选取范围,从而实现对图形的高亮显示和操作。这一功能在数据可视化、图像编辑等场景中十分常见。
摘要由CSDN通过智能技术生成

在这里插入图片描述

//height:自定义canvas的高度,如果不设置的话默认展示图片的宽度
//disabled:设置canvas不允许编辑
//imgSrc:设置背景图连接base64
//rectListData:矩形数组,可在父组件通过watch监听到变化
//initHeatMap:父组件通过this.$refs调用初始化函数
<template>
    <div :style="{marginRight:'50px',width:imgWidth<width?imgWidth+'px':width+'px',height:height?height+'px':imgHeight+'px',position:'relative'}">
        <canvas id="myCanvas"
                :width="width?width+'px':imgWidth+'px'"
                :height="height?height+'px':imgHeight+'px'"
                @mousedown="mousedown"
                @mousemove="mousemove"
                @mousewheel="mousewheel"
        ></canvas>
        <!-- y轴滚动条 -->
        <div
            :style="{height:height?height+'px':imgHeight+'px',overflowY:'scroll',overflowX:'hidden',position:'absolute',right:'-15px'}"
            @scroll="handleScrollY($event)"
            ref="scrollBarWrapY"
            v-show="height && imgHeight > height"
        >
            <div class="scrollBar" style="width:20px" ref="scrollBarY"></div>
        </div>
        <!-- x轴滚动条 -->
        <div
            :style="{width:width?width+'px':imgWidth+'px',overflowX:'scroll',overflowY:'hidden',position:'absolute',right:'-15px'}"
            @scroll="handleScrollX($event)"
            ref="scrollBarWrapX"
            v-show="width && imgWidth > width"
        >
            <div class="scrollBar" style="width:20px" ref="scrollBarX"></div>
        </div>
    </div>
</template>
<script>
    export default{
        props:{
            height:{
                type:Number
            },
            width:{
                type:Number
            },
            imgSrc:{
  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值