略略略
This commit is contained in:
@@ -1,53 +1,96 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="test">
|
<div class="test">
|
||||||
|
<div v-for="(item, index) in data" :key="index">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div>
|
<div>
|
||||||
<span>偏移X</span>
|
<span>偏移X</span>
|
||||||
<input type="number" v-model="data.offsetX" />
|
<input type="number" v-model="item.offsetX" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>偏移Y</span>
|
<span>偏移Y</span>
|
||||||
<input type="number" v-model="data.offsetY" />
|
<input type="number" v-model="item.offsetY" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>角度</span>
|
<span>角度</span>
|
||||||
<input type="number" v-model="data.angle" />
|
<input type="number" v-model="item.angle" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>缩放</span>
|
<span>缩放</span>
|
||||||
<input type="number" v-model="data.scale" />
|
<input type="number" v-model="item.scale" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>水平间距</span>
|
<span>水平间距</span>
|
||||||
<input type="number" v-model="data.gapX" />
|
<input type="number" v-model="item.gapX" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>垂直间距</span>
|
<span>垂直间距</span>
|
||||||
<input type="number" v-model="data.gapY" />
|
<input type="number" v-model="item.gapY" />
|
||||||
|
</div>
|
||||||
|
<h2>---------整体--------</h2>
|
||||||
|
<div>
|
||||||
|
<span>缩放</span>
|
||||||
|
<input type="number" v-model="item.object.scale" step="0.1" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>X</span>
|
||||||
|
<input type="number" v-model="item.object.left" />
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>Y</span>
|
||||||
|
<input type="number" v-model="item.object.top" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<pingpu v-bind="data" />
|
<pingpu v-bind="item" :style="{
|
||||||
|
transform: `translate(${item.object.left}px, ${item.object.top}px) scale(${item.object.scale})`,
|
||||||
|
transformOrigin: 'top left'
|
||||||
|
}" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import pingpu from "./pingpu.vue";
|
import pingpu from "./pingpu.vue";
|
||||||
const data = ref({
|
const data = ref([
|
||||||
|
{
|
||||||
url: "/src/assets/images/canvas/yinhua1.jpg",
|
url: "/src/assets/images/canvas/yinhua1.jpg",
|
||||||
offsetX: 0, // px
|
offsetX: 0, // px
|
||||||
offsetY: 0, // px
|
offsetY: 0, // px
|
||||||
angle: 0, // 角度
|
angle: 0, // 角度
|
||||||
scale: 100,// %
|
scale: 100, // %
|
||||||
gapX: 0, // px
|
gapX: 0, // px
|
||||||
gapY: 0, // px
|
gapY: 0, // px
|
||||||
});
|
|
||||||
window.data = data;
|
object:{
|
||||||
|
scale: 1, // %
|
||||||
|
top: 0, // px
|
||||||
|
left: 0, // px
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: "/src/assets/images/canvas/yinhua1.jpg",
|
||||||
|
offsetX: 0, // px
|
||||||
|
offsetY: 0, // px
|
||||||
|
angle: 0, // 角度
|
||||||
|
scale: 100, // %
|
||||||
|
gapX: 0, // px
|
||||||
|
gapY: 0, // px
|
||||||
|
|
||||||
|
object:{
|
||||||
|
scale: 1, // %
|
||||||
|
top: 0, // px
|
||||||
|
left: 0, // px
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='less' scoped>
|
<style lang='less' scoped>
|
||||||
.test {
|
.test {
|
||||||
|
display: flex;
|
||||||
|
> div {
|
||||||
|
width: 50%;
|
||||||
> .control {
|
> .control {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -58,16 +101,21 @@
|
|||||||
> span {
|
> span {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
}
|
}
|
||||||
>input{
|
> input {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
> .box {
|
> .box {
|
||||||
width: 100%;
|
position: fixed;
|
||||||
max-width: 400px;
|
top: 40%;
|
||||||
|
left: 10%;
|
||||||
|
width: 300px;
|
||||||
height: 500px;
|
height: 500px;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid #000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user