1.1.3 • Published 2 years ago

vue-image-mix v1.1.3

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

vue-image-mix

根据canvas实现的图片合成组件

安装

npm install vue-image-mix -S

props

参数说明类型默认值
width设置canvas的宽度Number,String400
height设置canvas的高度Number,String500

Methods

方法名说明参数
init初始化组件,必须调用
drawBackgroundImg绘制背景图(不可修改)背景图片地址
drawIconImage绘制非背景图图片地址
deleteIconImage删除图片drawIconImage返回值
exportImage导出合成的图片
deleteBackgroundImg删除背景图片

实例

<template>
    <div id="app">
        <vue-image-mix ref="myCanvas" width="500" height="400"/>
        <button @click="changeBackground">修改背景图</button>
        <button @click="deleteBackground">删除背景图</button>
        <button @click="deleteIcon">删除图片</button>
        <button @click="exportImage">导出图片</button>
    </div>
</template>

<script>
import {defineComponent} from 'vue';
import VueImageMix from '@/vue-image-mix.vue';

export default defineComponent({
    name: 'ServeDev',
    components: {
        VueImageMix
    },
    data(){
        return {
            models:[],
        }
    },
    mounted() {
        this.$refs.myCanvas.init();
        const backgroundImage = require('./assets/backgroundImage/eachTemplate.png');
        let img = new Image();
        img.src = backgroundImage;
        img.onload = ()=>{
            this.$refs.myCanvas.drawBackgroundImage(img);
        }

        let img2 = new Image();
        img2.src = require('./assets/IconImage/eachMaterial.png');
        img2.onload = ()=>{
            const item = this.$refs.myCanvas.drawIconImage(img2);
            this.models.push(item);
        }

    },
    methods:{
        changeBackground(){
            let img = new Image();
            img.src=require('./assets/backgroundImage/eachTemplate1.png')
            img.onload = ()=>{
                this.$refs.myCanvas.drawBackgroundImage(img);
            }
        },
        deleteBackground(){
            this.$refs.myCanvas.deleteBackgroundImage();
        },
        deleteIcon(){
            this.$refs.myCanvas.deleteIconImage(this.models[0]);
        },
        exportImage(){
            const exportSrc = this.$refs.myCanvas.exportImage('image/png');
            let oA = document.createElement("a");
            oA.download = '导出图片';
            oA.href = exportSrc;
            document.body.appendChild(oA);
            oA.click();
            oA.remove();
        }
    }
});
</script>
<style scoped>
button {
    margin-left: 20px;
}
</style>
1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago