首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue-konva :无法用图像填充矩形

Vue-konva :无法用图像填充矩形
EN

Stack Overflow用户
提问于 2018-11-13 18:57:31
回答 1查看 508关注 0票数 2

我用vue-konva库正确地画了几个矩形(我的项目是用Vue.js 2制作的)。

但是,我想用图像填充这些绘制的矩形。vue-konva文档说要使用fillPatternImage属性,但它不起作用

下面是我的代码

模板:

代码语言:javascript
复制
<div id="scene">
    <v-stage :config="configKonva">
        <v-layer>
            <div v-for="(coordonate, index) in coordonatesList" v-bind:key="index">
                <v-rect :config="getConfigRect(coordonate)"></v-rect>
            </div>
        </v-layer>
    </v-stage>
</div>

脚本:

代码语言:javascript
复制
methods: {
    getConfigRect: function(element) {
        return {
            x: element.x,
            y: element.y - (RECT_HEIGHT / 2),
            width: 20,
            height: 20,
            fill: element.color,
            fillPatternImage: '../../assets/cell.png',
        }
    }
}

png的路径是正确的。如果在我的模板中使用src中的上述路径放置一个img标记,我可以看到我的图像。

您可以通过以下url测试代码示例:https://codesandbox.io/s/6x1r9jxklz

为什么在这种情况下没有显示任何图像?

EN

回答 1

Stack Overflow用户

发布于 2018-11-13 19:10:30

根据vue-konva文档,您的代码必须在数据中,而不是在方法中。示例:

代码语言:javascript
复制
<template>
  <v-stage :config="configKonva">
    <v-layer>
      <v-circle :config="configCircle"></v-circle>
    </v-layer>
  </v-stage>
</template>

<script>
export default {
  data() {
    return {
      configKonva: {
        width: 200,
        height: 200
      },
      configCircle: {
        x: 100,
        y: 100,
        radius: 70,
        fill: "red",
        stroke: "black",
        strokeWidth: 4
      }
    };
  }
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53279496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档