小编cod*_*oob的帖子

画布图像顶部的可拖动文本框

大家好,所以我正在尝试在画布中制作一个可拖动的文本框。但是当我似乎无法弄清楚功能时。我想要做的就是在图像顶部拖动文本框。能够点击并拖动文本真的很酷。有人知道怎么做这个吗?它成为一个头痛。如果您有任何建议,那就太好了。

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
   <canvas id="canvas" width='500' height='500' ref='canvas' @mousedown='handleMouseDown' @mouseout='resetSelectedText' @mouseup='resetSelectedText' @mousemove='handleMouseMove'></canvas>
   <input v-model="text" placeholder='type your text'>
   <button @click='addText'>
   add text
   </button>
   <div v-for="(text, index) in texts">
   {{text.text}} <div @click='removeText(index)'>X</div>
   </div>
   <img src ='https://shop-resources.prod.cms.tractorsupply.com/resource/image/18248/portrait_ratio3x4/595/793/4c37b7f6d6f9d8a5b223334f1390191b/JJ/ten-reasons-not-to-buy-an-easter-bunny-main.jpg' @click="changeBackground('http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv')">
   <img src ='https://ce.prismview.com/api/files/templates/43s327k3oqfsf7/poster/poster.jpg' @click="changeBackground('http://ce.prismview.com/api/files/templates/43s327k3oqfsf7/main/360/43s327k3oqfsf7_360.mp4')">

    <video id="video" ref='video' :src="source" controls="false" autoplay loop></video>

    </div>
<script>
        new Vue({
              el: '#app',
              data: {
                source: "http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv",
                canvas: null,
                ctx: null,
                video: null,
                text:'',
                timer: null,
                texts: [],
                selectedText: null,
                startX: null,
                startY: null
              },
                methods: {
                addText(){
                if(this.text.length){ …
Run Code Online (Sandbox Code Playgroud)

javascript html5-canvas

0
推荐指数
1
解决办法
838
查看次数

标签 统计

html5-canvas ×1

javascript ×1